使用Hibernate验证用户信息

107 阅读1分钟

1、相应的hibernate-validator已经包含在SpringBoot-statrer-web里面了

2、使用相应的注解

@NotBlank(message = "用户昵称不能为空")
@Length(max = 12, message = "用户真实姓名不能超过12位")
@Email
@Min(value = 0, message = "性别选择不正确")
@Max(value = 2, message = "性别选择不正确")
@Pattern(regexp = "^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\\d{8})$", message = "手机号格式不正确")

3、在需要验证类前面加注解@valid

@Valid CenterUserBO userBo,

4、查看是否包含错误,对应类 Binding 类

private Map<String, String> getErrors(BindingResult result) {
        Map<String, String> map = new HashMap<>();
        List<FieldError> errorList = result.getFieldErrors();
        for(FieldError error : errorList){
            // 发生验证错误所对应的属性
            String errorField = error.getField();
            // 验证错误的信息
            String errorMsg = error.getDefaultMessage();
            map.put(errorField,errorMsg);
        }
        return map;
    }
if (result.hasErrors()) {
            Map<String, String> errorMap = getErrors(result);
            return IMOOCJSONResult.errorMap(errorMap);
        }