情况如下:
@NotNull@NotBlank@Size注解都加到一个Integer属性上,会校验报错
@NotNull
@NotBlank
@Size(Max = 10)
private Integer age;
通过查看相关资料,注解的区别如下
@NotEmpty
The annotated element must not be {@code null} nor empty. Supported types are:
不能是null
不能是空字符
集合框架中的元素不能为空
加了@NotEmpty注解的String类 ,Collection集合,Map ,数组,这些是不能为null或者长度为0的;
(String ,Collection,Map的isEmpty()方法)
@NotNull:主要用在基本数据类型上(Int,Integer,Double)
被修饰元素不能为null
举例:
@NotNull(message = “年龄不能为空”)
private Integer age;
@NotBlank:主要用在String字符串上面(String)
The annotated element must not be {@code null} and must contain at least one
non-whitespace character.(必须包含至少一个非空白字符。)
这个注解用来判断字符串或者字符
举例:
@NotBlank(message = “名字不能为空”)
private String name;
@Max(value)
限制必须为一个不大于指定值的数字
@Min(value)
限制必须为一个不小于指定值的数字
@Size(max,min)
限制字符长度必须在min到max之间(不支持数值类型校验大小)
弄明白用法后,报错如何解决就显而易见了。
@NotNull
@Min(value = 1,message = "@Min 判断Integer最小值")
@Max(value = 999,message = "@Max 判断Integer最大值")
// @Size(min = 1, max = 999, message = "Integer不可以使用@Size 判断数值范围 改为使用@Min @Max")
private Integer age;