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

在Bean上可以添加一些验证的注解,例如:@NotNull @NotBlank

public class User {
	@NotBlank
	private String name;
	
	@NotNull
	private Integer age;

	@NotEmpty
	private List<String> products;
}

上面这个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实战之路

Java实战之路
作者:怎么改
版权归作者所有,转载请注明出处,欢迎转载

posted @ 2020-03-15 17:59  怎么改  阅读(364)  评论(0编辑  收藏  举报