11.6.3.4. Hibernate Validator の制約
アノテーション | 適用先 | ランタイムチェック | Hibernate Metadata の影響 |
---|---|---|---|
@Length(min=, max=) | プロパティ (文字列) | 文字列の長さが指定の範囲とマッチしているか確認 | カラムの長さを最大に設定 |
@Max(value=) | プロパティ (数字あるいは数字の文字列表現) | 値が最大値以下であるか確認 | カラムに check 制約を追加 |
@Min(value=) | プロパティ (数字あるいは数字の文字列表現) | 値が最小値以上であるか確認 | カラムに check 制約を追加 |
@NotNull | プロパティ | 値が null でないか確認 | カラムが null でないか確認 |
@NotEmpty | プロパティ | 文字列が null あるいは空でないか確認。接続が null あるいは空でないか確認 | カラムが (文字列に対し) null でないか確認 |
@Past | プロパティ (日付あるいはカレンダー) | 日付が過去のものかを確認 | カラムに check 制約を追加 |
@Future | プロパティ (日付あるいはカレンダー) | 日付が未来のものかを確認 | なし |
@Pattern(regex="regexp", flag=) or @Patterns( {@Pattern(...)} ) | プロパティ (文字列) | プロパティが一致フラグを渡す正規表現に一致しているか確認 (java.util.regex.Pattern 参照) | なし |
@Range(min=, max=) | プロパティ (数字あるいは数字の文字列表現) | 最小値以上、最大値以下であるか確認 | カラムに check 制約を追加 |
@Size(min=, max=) | プロパティ (アレイ、コレクション、マップ) | 要素サイズが最小値以上、最大値以下であるかを確認 | なし |
@AssertFalse | プロパティ | メソッドが false と評価しているよう確認 (アノテーションでなくコードで制約が表現されている場合に便利) | なし |
@AssertTrue | プロパティ | メソッドが true と評価しているよう確認 (アノテーションでなくコードで制約が表現されている場合に便利) | なし |
@Valid | プロパティ (オブジェクト) | 紐付けされたオブジェクトに再帰的にバリデーションを行う。オブジェクトがコレクションかアレイの場合は、要素は再帰的に検証されます。また、オブジェクトがマップの場合、値要素が再帰的に検証されます。 | なし |
プロパティ (文字列) | 文字列が電子メールアドレスの仕様に準拠するかどうかを確認します。 | なし | |
@CreditCardNumber | プロパティ (文字列) | 文字列がクレジットカード番号用に適切にフォーマットされているか確認 (Luhn アルゴリズムの派生) | なし |
@Digits(integerDigits=1) | プロパティ (数字あるいは数字の文字列表現) | プロパティが最大 integerDigits の整数桁と fractionalDigits 少数点以下の桁数を持つ数字であるか確認 | カラムの制度とスケールを定義 |
@EAN | プロパティ (文字列) | 文字列が正しくフォーマットされた EAN あるいは UPC-A コードであるか確認 | なし |