繁体   English   中英

没有找到约束'javax.validation.constraints.Size'的验证器

[英]No validator could be found for constraint 'javax.validation.constraints.Size'

我有以下错误

javax.validation.UnexpectedTypeException:HV000030:找不到约束'javax.validation.constraints.Size'验证类型'java.lang.Integer'的验证程序。 检查'贴现'的配置

我的代码是:

@Column(name= "discount_percentage")
@Size(min=0, max=90)
@Min(0)
@Max(90)
private Integer discountPercentage = 0;

我将其设置为0,因为我在加载视图时遇到NullPointerException。 并且是整数,因为我正在阅读其他问题,有些人说有时在使用@Size和原始类型时会出现问题。

我该怎么办? 提前致谢。

@Size是一个Bean Validation批注,用于验证关联的String是否具有lengthminimum and maximum为界的值。 并且正如您的exception所说它不适用于Integer类型。

使用: @Range

@Column(name= "discount_percentage")
@Range(min=0, max=90)
private Integer discountPercentage = 0;

或者你的云也只使用@Max or @Min ,这也会起作用。 欲了解更多信息,请查看链接。

@Size不用于验证最小值/最大值。

它用于验证集合的大小,字符串的长度等。

在这种情况下,你应该使用@Min@Max代替。

请参阅此处获取完整文档: https//docs.oracle.com/javaee/7/api/javax/validation/constraints/Size.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM