javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
最新推荐文章于 2022-08-11 10:14:43 发布
最新推荐文章于 2022-08-11 10:14:43 发布
上面这个User实体类有三个属性,一个是String类型,一个是Integer类型,一个是集合类型。
-
@NotEmpty 用在集合类上面,不能为null,而且长度必须大于0
-
@NotBlank 用在String上面,不能为null,而且调用trim()后,长度必须大于0
-
@NotNull 用在基本类型上,不能为null,但可以为empty
程序运行时,在验证时报错:
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
这个报错的原因是:
Java实体类的属性的类型为Integer,但是却给它加上了@NotBlank的验证
解决方法:
就是将@NotBlank替换为@NotNull
欢迎大家关注公号:
Java实战之路
作者:怎么改
版权归作者所有,转载请注明出处,欢迎转载
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
在Bean上可以添加一些验证的注解,例如:@NotNull @NotBlank
java
x.
validation
.
Unexpected
Type
Exception
:
HV000030
: No
valid
a
tor
could be found for
const
ra
int
‘
java
x.
validation
.
const
ra
int
s.NotBlank’
valid
ating
type
‘
java
.lang.String’. Check configu
ra
tion for ‘phoneNumber’ 异常:
这句话的意思是说:不能使用 @NotBlank注解来修饰’
java
.lang.Str
实际上关于参数校验我们经常会遇到@NotNull,@NotEmpty和@NotBlank,几乎涉及到校验的工具包都会有它们的身影不管是Hibernate工具包还是Apache的校验工具包或者其他常用的工具包都会出现,有时候感觉这几个是差不多可以互相替换的。那他们具体的使用场景和区别是什么呢?
一 校验要求
NotNull
NotNull不能为null,但可以为empty,没有Size的约束,比如说
Ar
ra
yList list = new Ar
ra
yList();
这个list它不是null但size为0
No
valid
a
tor
could be found for
const
ra
int
'
java
x.
validation
.
const
ra
int
s.NotBlank'
valid
ating
type
'
java
.math.BigDecimal'. Check configu
ra
tion for 'maxPosition'"