1 值校验
1.1 @ Null注解
被注解的元素必须为null
示例
@Null(message = "必须为null")
private String username;
1.2 @NotNull注解
被注解的元素不为null
示例
@NotNull(message = "必须不为null")
private String username;
1.3 @NotBlank注解
验证注解的元素值不为空(不为null、去除首位空格后长度为0),并且类型为String
示例
@NotBlank(message = "必须不为空")
private String username;
1.4 @NotEmpty注解
验证注解的元素值不为null且不为空(字符串长度不为0,集合大小不为0),并且类型为String。
示例
@NotEmpty(message = "必须不为null且不为空")
private String username;
1.5 @AssertTrue注解
被注解的元素必须为true,并且类型为boolean。
示例
@AssertTrue(message = "必须为true")
private boolean status;
1.6 @AssertFalse注解
被注解的元素必须为false,并且类型为boolean
示例
@AssertFalse(message = "必须为false")
private boolean status;
2 范围校验
2.1 @Min注解
被注解的元素其值必须大于等于最小值,并且类型为int,long,float,double。
示例
@Min(value = 18, message = "必须大于等于18")
private int age;
2.2 @Max注解
被注解的元素其值必须小于等于最小值,并且类型为int,long,float,double。
示例
@Min(value = 18, message = "必须小于等于18")
private int age;
2.3 @DecimalMin注解
被注解的元素其值必须大于等于value值,并且类型为BigDecimal。
示例
@DecimalMin(value = "150", message = "必须大于等于150")
private BigDecimal height;
2.4 @DecimalMax注解
被注解的元素其值必须小等于value值,并且类型为BigDecimal。
示例
@DecimalMin(value = "300", message = "必须小于等于300")
private BigDecimal height;
2.5 @Range注解
被注解的元素其值在最小值和最大值之间,并且类型为BigDecimal,BigInteger,CharSequence,byte,short,int,long。
示例
@Range(max = 80, min = 18, message = "必须大于等于18或小于等于80")
private int age;
2.6 @Past注解
被注解的元素其值必须是过去的一个时间,并且类型为java.util.Date。
示例
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Past(message = "必须为过去的时间")
private Date createDate;
2.7 @Future注解
被注解的元素其值必须是未来的一个时间,并且类型为java.util.Date。
示例
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Future(message = "必须为未来的时间")
private Date createDate;
3 长度校验
3.1 @Size注解
被注解的元素的长度必须在指定范围内,并且类型为String,Array,List,Map。
示例
@Size(max = 11, min = 7, message = "长度必须大于等于7或小于等于11")
private String mobile;
3.2 @Length注解
被注解的元素的值长度必须在min和max区间内,并且类型为String。
示例
@Length(max = 11, min = 7, message = "长度必须大于等于7或小于等于11")
private String mobile;
4 格式校验
4.1 @ Digits注解
验证注解的元素值的整数位和小数位数上限,并且类型为float,double,BigDecimal。
示例
@Digits(integer=3,fraction = 2,message = "整数位上限为3位,小数位上限为2位")
private BigDecimal height;
4.2 @ Email注解
验证注解的元素值是Email,也可以通过regexp和flag指定自定义的email格式,类型为String。
示例
@Email(message = "必须是邮箱")
private String email;
4.3 @ Pattern注解
验证注解的元素值必须符合指定的正则表达式,并且类型为String。
示例
@Pattern(regexp = "\\d{11}",message = "必须为数字,并且长度为11")
private String mobile;
常用的正则表达式
-
限制字符长度1-64,由汉字、数字、字母及下划线组成
^[0-9a-zA-Z_\u4e00-\u9fa5]{1,64}$
-
26个英文字母
^[A-Za-z]$