JSR 303是java为bean数据合法性校验提供的标准框架 注解
代码语言:javascript复制Constraint 详细信息
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min) 被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式
常用的注解
代码语言:javascript复制@NotNull(message="名字不能为空") private String userName;
@Max(value=120,message="年龄最大不能查过12e") private int age;
@Email(mes sage="邮箱格式错误") private String email;
空检查
@Null 验证对象是否为null
@NotNull 验证对象是否不为null,无法查检长度为e的字符串
@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于e,只对字符串,且会去掉前后空格。
@NotEmpty 检查约束元素是否为NULL或者是EMPTY.
Booelan检查
@AssertTrue 验证Boolean 对象是否为true
@AssertFalse 验证 Boolean 对象是否为false长度检查
@size(min=,max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内
@Length(min=,max=) Validates that the annotated string is between min and max included.
日期检查
@Past 验证 Date和Calendar对象是否在当前时间之前
@Future 验证Date和Calendar对象是否在当前时间之后
@Pattern 验证 String对象是否符合正则表达式的规则
源码位置
使用需要导入依赖
代码语言:javascript复制 <!--@Email注解报红 新版本必须引这个依赖 validation-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
例: pojo
代码语言:javascript复制@Component
//通过前缀把这个实体类跟yaml中的绑定起来
@ConfigurationProperties(prefix = "person")
@Validated//数据校验
public class Person {
@Email(message = "用户名格式不合法")//message是在控制台输出的信息
private String name;
private Integer age;
}
yaml配置
运行