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
posted @   ohmok  阅读(3188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示

目录导航