SpringBoot @NotBlank错误
java 验证出现如下错误:
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
错误原因
Java实体类中属性是Integer类型,用了NotBlank判断不能为空,而这个注解是判断字符串是否为空
解决办法
去掉@NotBlank注解、使用@NotNull
@NotBlank注解地正确使用
@NotNull
:不能为null,但可以为empty
@NotEmpty
:不能为null,而且长度必须大于0
@NotBlank
:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0
案例
String name = null;@NotNull: false@NotEmpty:false @NotBlank:false 2.String name = "";@NotNull:true @NotEmpty: false@NotBlank: false3.String name = " ";@NotNull: true @NotEmpty: true@NotBlank: false4.String name = "Great answer!";@NotNull: true@NotEmpty:true@NotBlank:true
注意在使用@NotBlank等注解时,一定要和@valid一起使用,不然@NotBlank不起作用
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/219034/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)