Bean Validation 組み込み制約
Bean Validation API 組み込み制約に関する情報を検索するには、この情報を使用します。
Bean Validation API は、主としてアノテーションによって表現される、制約によってサポートされます。 これらの制約は、Enterprise JavaBeans (EJB) コンポーネントの クラス、フィールド、またはメソッドに追加されます。アノテーションが付いた要素値は、制約によって検査されます。
制約は、組み込むこともユーザーが定義することもできます。 いくつかの組み込みアノテーションが javax.validation.constraints パッケージに入っています。これらは、通常の制約定義を定義するため、および制約を構成するために使用されます。
次の表に、制約と使用法のリストを示します。
制約 | 使用法 |
---|---|
@Null | このアノテーションを使用した構成プロパティーの値がヌルでなければならないことを指定します。 この制約は、どのようなタイプでも受け入れます。 |
@NotNull | このアノテーションを使用した構成プロパティーの値がヌルであってはならないことを指定します。 すなわち、このプロパティーは必須です。この制約はあらゆるタイプを受け入れます。 |
@AssertTrue | このアノテーションを使用した構成プロパティーが真でなければならないことを指定します。 サポートされる値のタイプは boolean および Boolean です。NULL エレメントは有効と見なされます。 |
@AssertFalse | このアノテーションを使用した構成プロパティーが偽でなければならないことを指定します。 サポートされる値のタイプは boolean および Boolean です。NULL エレメントは有効と見なされます。 |
@Min | このアノテーションを使用した構成プロパティーの値が、指定された最小値以上でなければならないことを指定します。 サポートされる値タイプは、BigDecimal、BigInteger、byte、short、int、long、およびそれらに対応するラッパーです。NULL エレメントは有効と見なされます。 |
@Max | このアノテーションを使用した構成プロパティーの値が、指定された最大値以下でなければならないことを指定します。 サポートされている値のタイプは BigDecimal、BigInteger、byte、short、int、long およびこれらに対応するラッパーです。NULL 要素は有効と見なされます。 |
@DecimalMin | このアノテーションを使用した構成プロパティーの値が、指定された最小値以上でなければならないことを指定します。 サポートされる値タイプは、BigDecimal、BigInteger、String、byte、short、int、long、 およびこれらのタイプの各ラッパーです。NULL エレメントは有効と見なされます。 |
@DecimalMax | このアノテーションを使用した構成プロパティーの値が、指定された最大値以下でなければならないことを指定します。 サポートされる値タイプは、BigDecimal、BigInteger、String、byte、short、int、long、 およびこれらのタイプの各ラッパーです。NULL エレメントは有効と見なされます。 |
@Size | このアノテーションを使用した構成プロパティーの値が、指定された境界の間 (両境界を含みます) でなければならないことを指定します。 サポートされる値は、String (ストリングの長さが評価されます)、Collection (コレクション・サイズが評価されます)、Map (マップ・サイズが評価されます)、Array (配列の長さが評価されます) です。NULL エレメントは有効と見なされます。 |
@Digits | このアノテーションを使用した構成プロパティーの値が、受け入れられる範囲内でなければならないことを指定します。 サポートされる値タイプは、BigDecimal、BigInteger、String、byte、short、int、long、およびそれらに対応するラッパーです。NULL エレメントは有効と見なされます。 |
@Past | このアノテーションを使用した構成プロパティーが、過去の日付になっていなければならないことを指定します。 現在日時は、仮想マシンに基づく現在時刻として定義されています。 比較対象のタイプが Calendar タイプであり、カレンダーが現行タイム・ゾーンおよび現行ロケールに基づいている場合には、カレンダーが使用されます。 サポートされる値タイプは、java.util.Date、java.util.Calendar です。NULL エレメントは有効と見なされます。 |
@Future | このアノテーションを使用した構成プロパティーが、将来の日付になっていなければならないことを指定します。 現在日時は、仮想マシンに基づく現在時刻として定義されています。 比較対象のタイプが Calendar タイプであり、カレンダーが現行タイム・ゾーンおよび現行ロケールに基づいている場合には、カレンダーが使用されます。 サポートされる値タイプは、java.util.Date、java.util.Calendar です。NULL エレメントは有効と見なされます。 |
@Pattern | このアノテーションを使用した構成プロパティーが、以下の正規表現に一致していなければならないことを指定します。 正規表現は、Java™ 正規表現 規則 java.util.regex.Pattern に従います。サポートされるタイプ値は String です。NULL エレメントは有効と見なされます。 |