1 Maven 依赖
<!--第一种方式导入校验依赖-->
<dependency>
<groupId></groupId>
<artifactId>validation-api</artifactId>
<version>2.0.</version>
</dependency>
<!--第二种方式导入校验依赖-->
<dependency>
<groupId></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 注解
验证注解的元素值不为空(不为 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 注解
被注解的元素必须为过去的一个时间,并且类型为 。
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Past(message = "必须为过去的时间")
private Date createDate;
3.7 @Future 注解
被注解的元素必须为未来的一个时间,并且类型为 。
@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;
旭东怪的个人空间_哔哩哔哩_Bilibili旭东怪,人生低谷不可怕,可怕的是坚持不到人生转折点的那一天;旭东怪的主页、动态、视频、专栏、频道、收藏、订阅等。哔哩哔哩Bilibili,你感兴趣的视频都在B站。/484264966?spm_id_from=333.1007.0.0