介绍

当参数提交到后台后,由后台框架对参数进行校验,校验通过后才进入控制器方法,校验不通过直接给前端返回错误.

使用技术

后端校验封装的hibernate validator,目前只支持入参为POJO的校验,不支持基础数据类型校验

用法—POJO中

  1. 在控制器接收的参数POJO类中对字段进行注解标记.
  1. 注解 使用
  2. @NotNull 被注释的元素(任何元素)必须不为 null, 集合为空也是可以的。没啥实际意义
  3. @NotEmpty 用来校验字符串、集合、map、数组不能为null或空
  4. (字符串传入空格也不可以)(集合需至少包含一个元素)
  5. @NotBlank 只用来校验字符串不能为null,空格也是被允许的 。校验字符串推荐使用@NotEmpty
  6. -
  7. @Size(max=, min=) 指定的字符串、集合、map、数组长度必须在指定的maxmin
  8. 允许元素为null,字符串允许为空格
  9. @Length(min=,max=) 只用来校验字符串,长度必须在指定的maxmin 允许元素为null
  10. @Range(min=,max=) 用来校验数字或字符串的大小必须在指定的minmax
  11. 字符串会转成数字进行比较,如果不是数字校验不通过
  12. 允许元素为null
  13. @Min() 校验数字(包括integer short long int 等)的最小值,不支持小数即doublefloat
  14. 允许元素为null
  15. @Max() 校验数字(包括integer short long int 等)的最小值,不支持小数即doublefloat
  16. 允许元素为null
  17. @Pattern() 正则表达式匹配,可用来校验年月日格式,是否包含特殊字符(regexp = "^[a-zA-Z0-9\u4e00-\u9fa5

用法-在控制器中.

对于需要校验的参数使用@Validated 或者@Valid 标记即可,支持分组校验

详细的用法可以百度下hibernate validator