0


《SpringBoot篇》13.属性校验注解史上最全

陈老老老板

说明:学习一些新的技术栈,边学习边总结,各位一起加油。需要注意的地方都标红了,还有资源的分享. 一起加油。

说明:
整理了好久好久,我愿称之为史上最全校验注解表!!想要啥自己查表!!
这些注解都是搭配@Valid与@Validated使用,可以看我之前的博客:
@Valid与@Validated区别与用法
分类限制说明案例空和非空检查@Null限制只能为空@Null(message = “用户名必须为null”)
private String username;@NotNull限制不能为空@NotNull(message = “用户名必须不为null”)
private String username;@NotEmpty验证注解的元素值不能为null且不能为空(字符串长度不为0、集合大小不为0)@NotEmpty(message = “必须不为null且不为空”)
private String username;@NotBlank验证注解的元素值不能为空(不为null,去除首位空格后长度为0),不同于@NotEmpty,@NotBlank 只应用于字符串并在比较时会去除字符串的空格。@NotBlank(message = “必须不为空”)
private String username;长度检查@Size(max,min)限制字符长度在min与max之间,并且类型为String,Array,List,Map。@Size(max = 11, min = 7, message = “长度必须大于等于7或小于等于11”)
private String mobile;@Length限制元素值长度在min和max区间内 ,并且类型为String。@Length(max = 11, min = 7, message = “长度必须大于等于7或小于等于11”)
private String mobile;Boolean值检查@AssertFalse限制必须为False,并且类型为boolean。@AssertFalse(message = “必须为false”)
private boolean status;@AssertTrue限制必须为True,并且类型为boolean。@AssertTrue(message = “必须为true”)
private boolean status;日期检查@Past限制时间是当前时间之前,并且类型为java.util.Date。@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
@Past(message = “必须为过去的时间”)
private Date time;@Future限制时间为当前时间之后,并且类型为java.util.Date,并且类型为java.util.Date。@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
@Future(message = “必须为未来的时间”)
private Date time;@FutureOrPresent限制时间为当前时间或当前时间之后,并且类型为java.util.Date。@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
@FutureOrPresent(message = “时间为当前时间或当前时间之后”)
private Date time;@PastOrPresent限制时间为当前时间或当前时间之前,并且类型为java.util.Date。@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
@PastOrPresent(message = “时间为当前时间或当前时间之前”)
private Date time;数值检查@Max(value)限制必须是一个不大于指定值的数@Max(value = 18, message = “必须小于等于18”)
private int age;@Min(value)限制必须是一个不小于指定值的数,并且类型为int,long,float,double。@Min(value = 18, message = “必须大于等于18”)
private int age;@DecimalMax(value)限制必须是一个不大于指定值的数,并且类型为int,long,float,double。@DecimalMax(value = “300”, message = “必须大于等于300”)
private BigDecimal height;@DecimalMin(value)限制必须是一个不小于指定值的数,并且类型为int,long,float,double。@DecimalMin(value = “150”, message = “必须大于等于150”)
private BigDecimal height;@Digits(integer,fraction)限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过Fraction ,并且类型为float,double,BigDecimal。@Digits(integer=3,fraction = 2,message = “整数位上限为3位,小数位上限为2位”)
private BigDecimal height;@Negative限制必须为负整数,并且类型为float,double,BigDecimal。@Negative( message = “必须为负整数”)
private BigDecimal height;@NegativeOrZero限制必须为负整数或零,并且类型为float,double,BigDecimal。@NegativeOrZero( message = “必须为负整数或零”)
private BigDecimal height;@Positive限制必须为正整数,并且类型为float,double,BigDecimal。@Positive( message = “必须为正整数”)
private BigDecimal height;@PositiveOrZero限制必须为正整数或零,并且类型为float,double,BigDecimal。@PositiveOrZero( message = “必须为正整数或零”)
private BigDecimal height;@Range元素值在最小值和最大值之间,并且类型为BigDecimal,BigInteger,CharSequence,byte,short,int,long。@Range(max = 80, min = 18, message = “必须大于等于18或小于等于80”)
private int age;其他检查@Pattern(value)限制必须符合指定的正则表达式,并且类型为String。@Pattern(regexp = “\d{11}”,message = “必须为数字,并且长度为11”)
private String mobile;@Email限制必须为Email格式,,也可以通过regexp和flag指定自定义的email格式,类型为String。@Email(message = “必须是邮箱”)
private String email;

**总结:这一个表想要的全都有。希望对您有帮助,感谢阅读

结束语:裸体一旦成为艺术,便是最圣洁的。道德一旦沦为虚伪,便是最下流的。
勇敢去做你认为正确的事,不要被世俗的流言蜚语所困扰。**

标签: spring boot java 后端

本文转载自: https://blog.csdn.net/weixin_47343544/article/details/127154845
版权归原作者 陈老老老板 所有, 如有侵权,请联系我们删除。

“《SpringBoot篇》13.属性校验注解史上最全”的评论:

还没有评论