• SpringBoot 之 JSR303 数据校验


    使用示例:

    @Component
    @ConfigurationProperties(prefix = "person")
    @Validated  //使用数据校验注解
    public class Person {
        @Email(message="邮箱格式错误")
        private String email;
    }
    

    常见的校验注解:

    空检查
    @Null               验证对象是否为null
    @NotNull            验证对象不能为null,无法查检空字符串
    @NotBlank           验证去掉前后空格后的字符串不能为Null或者长度为0
    @NotEmpty           验证对象(String/Collection/Map/Array)不能为null或者长度为0
     
    Booelan检查
    @AssertTrue         验证 Boolean 对象是否为 true
    @AssertFalse        验证 Boolean 对象是否为 false
     
    长度检查
    @Size(min=, max=)   验证对象(String/Collection/Map/Array)长度是否在给定的范围内
    @Length(min=, max=) 验证字符串的长度是否在给定的范围内
     
    日期检查
    @Past               验证 Date 和 Calendar 对象是否在当前时间之前
    @PastOrPresent
    @Future             验证 Date 和 Calendar 对象是否在当前时间之后
    @FutureOrPresent
    @Pattern            验证 String 对象是否符合正则表达式的规则
     
    数值检查,建议用在Stirng/Integer类型,不建议用在int类型上
    因为表单值为""时无法转换为int,但可以转换为Stirng->"",Integer->null
    @Min                验证 Number 和 String 对象是否大等于指定的值
    @Max                验证 Number 和 String 对象是否小等于指定的值
    @DecimalMax         验证整形和 BigDecimal 必须小于等于指定的值
    @DecimalMin         验证整形和 BigDecimal 必须大于等于指定的值
    @Digits             验证元素必须是数值
    @Digits(integer=,fraction=) 验证元素是否为指定格式的数字,interger指定整数精度,fraction指定小数精度
     
    @Valid              递归验证属性、方法参数或方法返回类型
    @Email              验证是否为邮件地址,如果为null则不进行验证(通过验证)
    

    参考文档:https://javaee.github.io/javaee-spec/javadocs/

  • 相关阅读:
    Linux监控端口与性能分析的
    对大数据简单生态的部分认知随笔
    致敬那些年对nginx踩过的坑
    面试中一些比较尴尬的问题
    硬盘的接口有哪几种
    硬盘的逻辑结构
    Oracle数据库的备份与恢复还原笔记
    Linux安装Mysql5.7.29
    [转]为什么会有OPTION请求?
    图解HTTP(5-6章节)---阅后笔记
  • 原文地址:https://www.cnblogs.com/danhuang/p/12592171.html
Copyright © 2020-2023  润新知