@Validated参数验证报javax.validation.UnexpectedTypeException: HV000030: No validator could be found for

Posted zhixuChen333

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Validated参数验证报javax.validation.UnexpectedTypeException: HV000030: No validator could be found for相关的知识,希望对你有一定的参考价值。

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint

背景

在编写新增类型的接口时,在传参类的基本类型上加@NotBlank进行非空判断,在写单元测试时一直得不到我想抛出的异常,抛出了一个我想不到的异常

异常

javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constrain

原因

使用hibernate validator出现上面的错误, 需要 注意:
@NotNull 和 @NotEmpty 和@NotBlank 区别
@NotEmpty 用在集合类上面
@NotBlank 用在String上面
@NotNull 不能为null,不能用在字符串上
如果在基本类型上面用NotEmpty或者NotBlank 会出现上面的错

总结

这种坑属于没踩过总要踩一次的坑,下次就会注意了,主要我debug了好久才看出来,难受!!!

以上是关于@Validated参数验证报javax.validation.UnexpectedTypeException: HV000030: No validator could be found for的主要内容,如果未能解决你的问题,请参考以下文章

优雅的参数验证@Validated@Validated参数校验的使用及注解详解——你还在用if做条件验证?

@validated 验证 List 参数在spring中

如何使用基于组的@Validated注释验证方法参数

java注解@Valid@Validated表单验证

Dubbo 服务RPC调用Validated验证

MethodValidationInterceptor 和 @Validated @ModelAttribute