10.8 Bean Validation実装時の注意事項
この節では,Bean Validation実装時の注意事項について説明します。
- Bean Validation 1.0仕様での注意事項
-
Bean Validation 1.0仕様では,クラスパス上に配置できるvalidation.xmlは一つだけです。J2EEアプリケーションのクラスパス上に複数のvalidation.xmlを配置しないでください。
- Bean Validation 2.0仕様での注意事項
-
-
java:comp/ValidatorFactoryのルックアップや@ResourceアノテーションによるValidatorFactoryの取得と,java:comp/Validatorのルックアップや@ResourceアノテーションによるValidatorの取得はできません。ValidatorFactoryやValidatorオブジェクトを取得する場合はCDIの@Injectアノテーションを用いて注入してください。
-
Webアプリケーション内にvalidation.xmlを含めることはできません。代わりにアプリケーション内のライブラリJAR内にvalidation.xmlを格納してください。Webアプリケーション内にvalidation.xmlを含めた場合,validation.xmlの指定値が適用されないで,デフォルトの動作となるおそれがあります。
-
次のライブラリをユーザアプリケーションに含めることや,コンテナ拡張ライブラリとしてクラスパスに追加することはできません。また,一部を除き,ユーザアプリケーションから直接参照することもできません。ユーザアプリケーション,およびコンテナ拡張ライブラリとして使用できないライブラリを次の表に示します。
表10‒7 ユーザアプリケーション,およびコンテナ拡張ライブラリとして使用できないライブラリ ライブラリ名
パッケージ名
参照可否
Hibernate Validator
org.hibernate.validator
不可
Java ClassMate
com.fasterxml.classmate
不可
-
- Message Interpolatorのデフォルトのメッセージに関する注意事項
-
Message Interpolatorのデフォルトのメッセージは,標準仕様に記載されている内容と異なります。アプリケーションサーバにおけるMessage Interpolatorのメッセージのデフォルト値を,次の表に示します。
表10‒8 アプリケーションサーバにおけるMessage Interpolatorのメッセージのデフォルト値 メッセージプロパティのキー
デフォルト値
javax.validation.constraints.AssertFalse.message
must be false
javax.validation.constraints.AssertTrue.message
must be true
javax.validation.constraints.Digits.message
numeric value out of bounds (<{integer} digits>.<{fraction} digits> expected)
javax.validation.constraints.Future.message
must be in the future
javax.validation.constraints.Max.message
must be less than or equal to {value}
javax.validation.constraints.Min.message
must be greater than or equal to {value}
javax.validation.constraints.NotNull.message
may not be null
javax.validation.constraints.Null.message
must be null
javax.validation.constraints.Past.message
must be in the past
javax.validation.constraints.Pattern.message
must match "{regexp}"
javax.validation.constraints.Size.message
size must be between {min} and {max}