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) | 被注释的元素的大小必须在指定的范围内 |