Hibernate Validator 是 JSR Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint
- Bean Validation 中内置的 constraint
- @Null 被注释的元素必须为 null
- @NotNull 被注释的元素必须不为 null
- @AssertTrue 被注释的元素必须为 true,应用于boolean属性
- @AssertFalse 被注释的元素必须为 false ,应用于boolean属性
- @Min(value) 被注释的元素必须是一个整数,其值必须大于等于指定的最小值
- @Max(value) 被注释的元素必须是一个整数,其值必须小于等于指定的最大值
- @DecimalMin(value) 被注释的元素必须是一个小数,其值必须大于等于指定的最小值
- @DecimalMax(value) 被注释的元素必须是一个小数,其值必须小于等于指定的最大值
- @Size(max=, min=) 被注释的元素的大小必须在指定的范围内
- @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
- @Past 被注释的元素必须是一个过去的日期
- @Future 被注释的元素必须是一个将来的日期
- @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式
- Hibernate Validator 附加的 constraint
- @NotBlank(message =) 验证字符串非null,且长度必须大于0
- @Email 被注释的元素必须是电子邮箱地址
- @Length(min=,max=) 被注释的字符串的大小必须在指定的范围内
- @NotEmpty 被注释的字符串的必须非空
- @Range(min=,max=,message=) 被注释的元素必须在合适的范围内
- 注意有些只能用在字符串或集合上的。
如果想不想使用JSR 规范的验证消息,可以在属性(如message.propertites)文件中说明。
如想覆盖@Size注解的消息,可以这样写:Size.product.name = 产品名字长度必须在1-10之间。其他的注解类似。
Bean validation参考网址:http://beanvalidation.org