本文主要是介绍springbootJSR-303数据校验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
JSR 303是java为bean数据合法性校验提供的标准框架
注解
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) 被注释的元素必须符合指定的正则表达式
常用的注解
@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对象是否符合正则表达式的规则
源码位置
使用需要导入依赖
<!--@Email注解报红 新版本必须引这个依赖 validation--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>
例:
pojo
@Component
//通过前缀把这个实体类跟yaml中的绑定起来
@ConfigurationProperties(prefix = "person")
@Validated//数据校验
public class Person {@Email(message = "用户名格式不合法")//message是在控制台输出的信息private String name;private Integer age;}
yaml配置
运行
这篇关于springbootJSR-303数据校验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!