JSR 303 校验框架介绍:
jsr是Java Specification Requests的缩写,意思是Java 规范提案。
JSR 303 用于对Java bean 中的字段的值进行验证,使得验证逻辑从业务代码中脱离出来,比如代表生日的时间应该是一个过去的时间,工资的数值必须是一个正数。
它是一个运行时的数据验证框架,再验证之后的验证的错误信息会被马上返回,一般用于表单提交页面(如用户名必填,只能由数字字母组成等等)
它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面,就可以在需要校验的时候进行校验了。注解如下:
@NotNull 注解元素必须是非空
@Null 注解元素必须是空
@Digits 验证数字构成是否合法
@Future 验证是否在当前系统时间之后
@Past 验证是否在当前系统时间之前
@Max 验证值是否小于等于最大指定整数值
@Min 验证值是否大于等于最小指定整数值
@Pattern 验证字符串是否匹配指定的正则表达式
@Size 验证元素大小是否在指定范围内
@DecimalMax 验证值是否小于等于最大指定小数值
@DecimalMin 验证值是否大于等于最小指定小数值
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
Hibernate validator 在JSR303的基础上对校验注解进行了扩展,扩展注解如下:
@Email 被注释的元素必须是电子邮箱地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range 被注释的元素必须在合适的范围内