javax.validation.constraints.Notnull@NotNull@NotBlank注解在Integer属性上失效,报错相关问题

文章讨论了在Java中将@NotNull,@NotBlank,@Size注解同时用于一个Integer类型的属性时导致的校验错误。@NotNull用于非空检查,@NotBlank确保字符串无空白,@Size则限制字符串长度。由于Integer不适用@Size,解决方案是使用@NotNull结合@Min和@Max来设定数值范围。
摘要由CSDN通过智能技术生成

情况如下:
@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,MapisEmpty()方法)
@NotNull:主要用在基本数据类型上(IntIntegerDouble)
被修饰元素不能为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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值