Hibernate Validator

hibernate Validator 是 Bean Validation 的参考实现 。Hibernate Validator 提供了 JSR 303 规范中全部内置 constraint 的实现,除此以外还有一些附加的 constraint。java

在平常开发中,Hibernate Validator常常用来验证bean的字段,基于注解,方便快捷高效。git

 

1. Bean Validation 中内置的 constraint正则表达式

           注解                                      做用算法

 

@Valid 被注释的元素是一个对象,须要检查此对象的全部字段值
@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) 被注释的元素必须符合指定的正则表达式



2. Hibernate Validator 附加的 constraint

url

注解 做用
@Email 被注释的元素必须是电子邮箱地址
@Length(min=, max=) 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range(min=, max=) 被注释的元素必须在合适的范围内
@NotBlank 被注释的字符串的必须非空
@URL(protocol=,
host=,    port=, 
regexp=, flags=)
被注释的字符串必须是一个有效的url
@CreditCardNumber
被注释的字符串必须经过Luhn校验算法,
银行卡,信用卡等号码通常都用Luhn
计算合法性
@ScriptAssert
(lang=, script=, alias=)
要有Java Scripting API 即JSR 223 
("Scripting for the JavaTM Platform")的实现
@SafeHtml
(whitelistType=, 
additionalTags=)
classpath中要有jsoup包


hibernate补充的注解中,最后3个不经常使用,可忽略。spa

 

主要区分下@NotNull  @NotEmpty  @NotBlank 3个注解的区别:.net

@NotNull           任何对象的value不能为nullhibernate

@NotEmpty       集合对象的元素不为0,即集合不为空,也能够用于字符串不为nullregexp

@NotBlank        只能用于字符串不为null,而且字符串trim()之后length要大于0orm

相关文章
相关标签/搜索