美文网首页IT-学习笔记
JSR303校验的使用

JSR303校验的使用

作者: 阿帕旗 | 来源:发表于2022-06-11 22:53 被阅读0次

    JSR303校验

    SpringBoot中如果使用此数据检验,需添加依赖:

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

    常用的校验

    @Null       必须为空
    @NotNull    不能为空
    @NotEmty    检查约束元素是否为NULL或者是EMPTY
    @NotBlank   检查约束字符串是不是NULL还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格
    
    @AssertTrue  必须为真
    @AssertFalse 必须为假
    
    @Min(value)            必须大于或等于 {value}
    @Max(value=,message=)  必须小于或等于 {value=130}{message="年龄最大不能超过130"}
    @DecimalMin(value)     约束元素必须是一个数字,其值必须大于等于指定的最小值
    @DecimalMax(value)     约束元素必须是一个数字,其值必须小于等于指定的最大值
    
    @Size(min=,max=)       size 必须在 {min} 和 {max} 之间
    @Length(min=,max=)     约束字符串的大小必须在指定的范围内
    
    @Digits(integer,fraction)  数值超出范围(<{integer} 位>.<{fraction} 位> 预期)
    @Past                      必须是过去的日期
    @Future                    必须是未来日期
    @Pattern(value)            必须匹配以下正则表达式:{regexp}
    
    @Email(vlaue)  验证邮箱格式是否正确
    
    @Range   约束的元素必须在合适的范围内
    

    使用例子

    @Component //注册bean
    @ConfigurationProperties(prefix = "person") //配置实体Person类通过yaml赋值
    @Validated //添加数据校验
    public class Person {
        @Email(message="邮箱格式错误!")
        private String name;
        @NotEmpty
        private String age;
        @Past
        private Date birth;
        @AssertTrue
        private Boolean happy;
    
    Person:
      name: "李玲"
    

    错误提示

    name不是邮箱格式

     Property: person.name
        Value: 李玲
        Origin: class path resource [application.yaml] - 2:9
        Reason: 邮箱格式错误!
    

    相关文章

      网友评论

        本文标题:JSR303校验的使用

        本文链接:https://www.haomeiwen.com/subject/gtgwmrtx.html