使用JSR303可以提供了对Java Bean的校验方式,主要使用注解对Java Bean进行验证。
JST303基于spring-boot-starter-vaildation
Bean的属性上加注解,如@NotEmpty(message = "该参数不能为空")。
约束注解名称 | ** 约束注解说明** |
---|---|
@Null | 验证对象是否为空 |
@NotNull | 验证对象是否为非空 |
@AssertTrue | 验证 Boolean 对象是否为 true |
@AssertFalse | 验证 Boolean 对象是否为 false |
@Min | 验证 Number 和 String 对象是否大等于指定的值 |
@Max | 验证 Number 和 String 对象是否小等于指定的值 |
@DecimalMin | 验证 Number 和 String 对象是否大等于指定的值,小数存在精度 |
@DecimalMax | 验证 Number 和 String 对象是否小等于指定的值,小数存在精度 |
@Size | 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内 |
@Digits | 验证 Number 和 String 的构成是否合法 |
@Past | 验证 Date 和 Calendar 对象是否在当前时间之前 |
@Future | 验证 Date 和 Calendar 对象是否在当前时间之后 |
@Pattern | 验证 String 对象是否符合正则表达式的规则 |
除此之外,可以通过将操作分组,实现一个类在不同操作下进行不同的校验。
编写分组类。
public class ValidationGroups{
public interface Insert{};
public interface Delete{};
public interface Update{};
}
在实体类中加入注解
public class Student{
@NotEmpty(message = "姓名不能为空",Groups = {ValidationGroups.Insert.class})
@Null(message = "姓名必须为空",Groups = {ValidationGroups.Update.class})
private String name;
}