Java4种校验注解(值校验、范围校验、长度校验、格式校
验)
1 Maven依赖
<!--第⼀种⽅式导⼊校验依赖-->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<!--第⼆种⽅式导⼊校验依赖-->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
2 值校验
2.1 @Null注解
被注解的元素必须为null
@Null(message = "必须为null")
private String username;
2.2 @NotNull注解
被注解的元素必须不为null
@NotNull(message = "必须不为null")
private String username;
2.3 @NotBlank注解bigdecimal取值范围
验证注解的元素值不为空(不为null、去除⾸位空格后长度为0) ,并且类型为String。
@NotBlank(message = "必须不为空")
private String username;
2.4 @NotEmpty注解
验证注解的元素值不为null且不为空(字符串长度不为0、集合⼤⼩不为0) ,并且类型为String。
@NotEmpty(message = "必须不为null且不为空")
private String username;
2.5 @AssertTrue注解
被注解的元素必须为true,并且类型为boolean。
@AssertTrue(message = "必须为true")
private boolean status;
2.6 @AssertFalse注解
被注解的元素必须为false,并且类型为boolean。
@AssertFalse(message = "必须为false")
private boolean status;
3 范围校验
3.1 @Min注解
被注解的元素其值必须⼤于等于最⼩值,并且类型为int,long,float,double。
@Min(value = 18, message = "必须⼤于等于18")
private int age;
3.2 @Max注解
被注解的元素其值必须⼩于等于最⼩值,并且类型为int,long,float,double。
@Max(value = 18, message = "必须⼩于等于18")
private int age;
3.3 @DecimalMin注解
验证注解的元素值⼤于等于@DecimalMin指定的value值,并且类型为BigDecimal。
@DecimalMin(value = "150", message = "必须⼤于等于150")
private BigDecimal height;
3.4 @DecimalMax注解
验证注解的元素值⼩于等于@DecimalMax指定的value值 ,并且类型为BigDecimal。
@DecimalMax(value = "300", message = "必须⼤于等于300")
private BigDecimal height;
3.5 @Range注解
验证注解的元素值在最⼩值和最⼤值之间,并且类型为BigDecimal,BigInteger,CharSequence,byte,short,int,long。
@Range(max = 80, min = 18, message = "必须⼤于等于18或⼩于等于80")
private int age;
3.6 @Past注解
被注解的元素必须为过去的⼀个时间,并且类型为java.util.Date。
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Past(message = "必须为过去的时间")
private Date createDate;
3.7 @Future注解
被注解的元素必须为未来的⼀个时间,并且类型为java.util.Date。
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Future(message = "必须为未来的时间")
private Date createDate;
4 长度校验
4.1 @Size注解
被注解的元素的长度必须在指定范围内,并且类型为String,Array,List,Map。
@Size(max = 11, min = 7, message = "长度必须⼤于等于7或⼩于等于11")
private String mobile;
4.2 @Length注解
验证注解的元素值长度在min和max区间内 ,并且类型为String。
@Length(max = 11, min = 7, message = "长度必须⼤于等于7或⼩于等于11")
private String mobile;
5 格式校验
5.1 @Digits注解
验证注解的元素值的整数位数和⼩数位数上限 ,并且类型为float,double,BigDecimal。
@Digits(integer=3,fraction = 2,message = "整数位上限为3位,⼩数位上限为2位")
private BigDecimal height;
5.2 @Pattern注解
被注解的元素必须符合指定的正则表达式,并且类型为String。
@Pattern(regexp = "\\d{11}",message = "必须为数字,并且长度为11")
private String mobile;
5.3 @Email注解
验证注解的元素值是Email,也可以通过regexp和flag指定⾃定义的email格式,类型为String。
@Email(message = "必须是邮箱")
private String email;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。