JSR303 说明
JSR 是 Java Specification Requests 的缩写,意思是 Java 规范提案。是指向 JCP(Java Community Process) 提出新增一个标准化技术规范的正式请求。任何人都可以提交 JSR,以向 Java 平台增添新的 API 和服务。JSR 已成为 Java 界的一个重要标准。JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。
| 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 | |
| @Email | 被注释的元素必须是电子邮箱地址 |
| @Length(max, min) | 被注释的字符串长度大小必须在指定的范围内 |
| @NotEmpty | 被注释的字符串必须是非空 |
| @Range(max, min) | 被注释的元素的大小必须在指定的范围内 |