常用JSR-303数据校验

常用JSR-303数据校验

下载 JSR 303 – Bean Validation 规范
在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。应用程序必须通过某种手段来确保输入进来的数据从语义上来讲是正确的。在通常的情况下,应用程序是分层的,不同的层由不同的开发人员来完成。很多时候同样的数据验证逻辑会出现在不同的层,这样就会导致代码冗余和一些管理的问题,比如说语义的一致性等。为了避免这样的情况发生,最好是将验证逻辑与相应的域模型进行绑定。

Bean Validation 中内置的 constraint

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) 被注释的元素必须符合指定的正则表达式

Hibernate Validator 附加的 constraint

Constraint 详细信息
@Email 被注释的元素必须是电子邮箱地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range 被注释的元素必须在合适的范围内

常用 constraint

Constraint 详细信息
@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对象是否符合正则表达式的规则

.....等等

除此以外,我们还可以自定义一些数据校验规则

猜你喜欢

转载自www.cnblogs.com/lskreno/p/12222762.html