欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSR303数据校验笔记

程序员文章站 2022-03-15 09:56:21
JSR303数据校验笔记要使用JSR303数据校验,首先要导入相关依赖 org.springframework.boot spring-boot-starter-validation 其次,需要在所编写的实体类上加上@Validated注...

JSR303数据校验笔记

要使用JSR303数据校验,首先要导入相关依赖

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
  </dependency>

其次,需要在所编写的实体类上加上@Validated注解,开启校验功能

@Component
@ConfigurationProperties(prefix = "user")
@Validated
public class User {
    @Email(message = "邮箱地址格式错误")//这里验证name是否为邮箱格式,不是则报错,打印出提示信息 "邮箱地址格式错误",当然不设置message的话会有默认的报错信息
    private String name;
    private String email;
}

在配置文件application.yaml中配置实体类User

user:
  name: xin3123
  email: 123456@qq.com

写一个测试类尝试打印出User进行测试

@SpringBootTest
class TestJsr303ApplicationTests {
    @Autowired
    private User user;
    @Test
    void contextLoads() {
     System.out.println(user);
}


运行测试结果为:
JSR303数据校验笔记

所以实现了数据校验

数据校验有许多注解,针对不同需求的校验方式,以下是一些常用的校验规则

@NotNull(message=“名字不能为空”)
private String userName;

@Max(value=120,message=“年龄最大不能查过120”)
private int age;

@Email(message=“邮箱格式错误”)
private String email;

空检查@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=) string is between min and max included.

日期检查@Past
验证 Date 和 Calendar 对象是否在当前时间之前

@Future
验证 Date 和 Calendar 对象是否在当前时间之后

@Pattern
验证 String 对象是否符合正则表达式的规则
…等等除此以外,我们还可以自定义一些数据校验规则

本文地址:https://blog.csdn.net/L_GRAND_ORDER/article/details/107702654

相关标签: Spring学习笔记