实体字段校验 @NotNull、@NotEmpty、@NotBlank

1.@NotNull

不能为 null,但可以为 empty,一般用在 Integer 类型的基本数据类型的非空校验上,而且被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制

2.@NotEmpty

不能为 null,且长度必须大于 0,一般用在集合类上或者数组上

3.@NotBlank

只能作用在接收的 String 类型上,注意是只能,不能为 null,而且调用 trim() 后,长度必须大于 0即:必须有实际字符

 

。注意在使用 @NotBlank 等注解时,一定要和 @valid 一起使用,否则 @NotBlank 不起作用。
。一个 BigDecimal 的字段使用字段校验标签应该为 @NotNull。
。在使用 @Length 一般用在 String 类型上可对字段数值进行最大长度限制的控制。
。在使用 @Range 一般用在 Integer 类型上可对字段数值进行大小范围的控制。

 

 

 

常用的校验注解

javax.validation.constraints.xxx

 

 

附 @JsonFormat
有时使用 @JsonFormat 注解时,查到的时间可能会比数据库中的时间少八个小时,这是由于时区差引起的,JsonFormat 默认的时区是 Greenwich Time, 默认的是格林威治时间,而我们是在东八区上,所以时间会比实际我们想得到的时间少八个小时。需要在后面加上一个时区,如下示例:


@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
private Date date;

 

附 @Valid 

有时参数对象中还包含其他参数对象,如果要验证包含的对象里的参数,就需要使用@Valid注解包含的对象,如下:

 

 

其他事例:

验证纯数字