13.6.3.3. Hibernate Validator の制約
Annotation | に適用する | ランタイムチェック | 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 コードであるかを確認します。 | なし。 |