SpringBoot 之 JSR303 数据校验

蓝咒 提交于 2020-03-29 14:57:09

使用示例:

@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/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!