依赖
<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>
<version>6.1.7.Final</version>
</dependency>
注解使用
空检查
@Null 验证是否为null
@NotNull 验证是否不为null, 无法查检长度为0的字符串
@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0
@NotEmpty 检查约束元素是否为NULL或者是EMPTY
Booelan检查
@AssertTrue 验证 Boolean 对象是否为 true
@AssertFalse 验证 Boolean 对象是否为 false
长度检查
@Size(min,max) 验证对象(Array,Collection,Map,String)
@Length(min,max) 验证字符串
日期检查
@Past 验证 Date 和 Calendar 对象是否在当前时间之前
@Future 验证 Date 和 Calendar 对象是否在当前时间之后
@Pattern 验证 String 对象是否符合正则表达式的规则
数值检查
@Min 验证 Number 和 String 对象是否大等于指定的值
@Max 验证 Number 和 String 对象是否小等于指定的值
@DecimalMax 被标注的值必须不大于约束中指定的最大值
@DecimalMin 被标注的值必须不小于约束中指定的最小值
@Digits 验证 Number 和 String 的构成是否合法
@Digits(整数长度,小数精度) 验证字符串是否是符合指定格式的数字
@Range(min,max,message)验证是否在合适的范围内
@Valid递归校验
@CreditCardNumber信用卡验证
@Email 验证是否是邮件地址,null不进行验证
@ScriptAssert(lang,script,alias)
@URL(protocol,host,port,regexp,flags)