报错
No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.lang.Integer’. Check configuration for ‘state’
Not 注解
@NotNull
不能为 null
,但可以为 empty
,一般用在Integer 类型
的基本数据类型的非空校验上
,而且被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制
@NotEmpt
不能为 null,且长度必须大于 0
,一般用在集合类上或者数组上
@NotBlank
只能作用在接收的 String 类型上
,注意是只能
,不能为 null
,而且调用 trim() 后,长度必须大于 0
即:必须有实际字符
三者都得不为null (没有参数传过来即为null )
@notNull 可以为空白或空格(长度不限)
@NotEmpty 长度要大于0 (可以为空格,因为空格也有长度)
@NotBlank 只能用在 string ,并且去掉空格之后要大于0
!!注意在使用 @NotBlank 等注解时,一定要和 @valid 一起使用,否则 @NotBlank 不起作用。
一个 BigDecimal 的字段使用字段校验标签应该为 @NotNull。
在使用 @Length 一般用在 String 类型上可对字段数值进行最大长度限制的控制。
在使用 @Range 一般用在 Integer 类型上可对字段数值进行大小范围的控制。
示例
1.String name = null;
@NotNull: false
@NotEmpty:false
@NotBlank:false
2.String name = "";
@NotNull:true
@NotEmpty: false
@NotBlank: false
!!!!注意这里 @NotBlank 必须有实际字符
3.String name = " ";
@NotNull: true
@NotEmpty: true
@NotBlank: false
4.String name = "Hello World!";
@NotNull: true
@NotEmpty:true
@NotBlank:true