SR(Java Specification Requests,Java規範提案) 303 – Bean Validation 是一個數據驗證的規範,2009 年 11 月確定最終方案。2009 年 12 月 Java EE 6 發佈,Bean Validation 作爲一個重要特性被包含其中。
hibernate Validator 是 Bean Validation 的參考實現 . Hibernate Validator 提供了 JSR
303 規範中所有內置 constraint 的實現,除此之外還有一些附加的 constraint。
Bean Validation 中的 constraint
表 1. 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) | 被註釋的元素必須符合指定的正則表達式 |
Constraint | 詳細信息 |
---|---|
被註釋的元素必須是電子郵箱地址 | |
@Length | 被註釋的字符串的大小必須在指定的範圍內 |
@NotEmpty | 被註釋的字符串的必須非空 |
@Range | 被註釋的元素必須在合適的範圍內 |
示例
所需Jar包:validation-api-1.0.0.GA.jar、hibernate-validator-4.2.0.Final.jar、slf4j-api-1.6.1.jar。
Order類:
Receiver類: Product類: 測試: 結果: