SpringBoot - @Valid 参数校验


一、常用校验注解

空检查

  • @Null:限制只能为null
  • @NotNull:限制必须不为null
  • @NotEmpty:验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
  • @NotBlank:验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格

Boolean检查

  • @AssertFalse:限制必须为false
  • @AssertTrue:限制必须为true

长度检查

  • @Size(max, min):限制字符串、数组、集合长度范围必须在min到max之间
  • @Length(min=, max=):验证注解的元素值长度在min和max区间内,只能用于字符串

日期检查:Date/Calendar

  • @Past:限制必须是一个过去的日期
  • @Future:限制必须是一个将来的日期
  • @Pattern(regexp="reg"):限制必须符合指定的正则表达式

数值检查:建议使用在Stirng,Integer类型

  • @Min(value):限制必须为一个不小于指定值的数字
  • @Max(value):限制必须为一个不大于指定值的数字
  • @DecimalMin(value):限制必须为一个不小于指定值的数字
  • @DecimalMax(value):限制必须为一个不大于指定值的数字
  • @Digits:验证是否为数字
  • @Digits(integer, fraction):限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
  • @Range(min=long1,max=long2):检查数字是否在范围min到max之间

其他验证

  • @Vaild:递归验证,用于对象、数组和集合,会对对象的元素、数组的元素进行一一校验
  • @Email:用于验证一个字符串是否是一个合法的右键地址,空字符串或null算验证通过
  • @URL(protocol=协议,host=主机,port=端口号,regexp=正则表达式,flags=标识):用于校验一个字符串是否是合法URL


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM