65.2.2. 標準アノテーション

Bean 検証の制約

表65.1「Bean Validation の標準アノテーション」 は、Bean Validation 仕様で定義されている標準のアノテーションで、フィールドやメソッドの戻り値およびパラメーターの制約定義に使用できます (標準アノテーションはクラスレベルで適用できません)。

表65.1 Bean Validation の標準アノテーション

Annotation適用先説明

@AssertFalse

Booleanboolean

アノテーションが付けられた要素が false であることを確認します。

@AssertTrue

Booleanboolean

アノテーションが付けられた要素が true であることを確認します。

@DecimalMax(value=, inclusive=)

BigDecimalBigIntegerCharSequencebyteshortintlong、およびプリミティブ型ラッパー

inclusive=false の場合、アノテーションが付けられた値が指定された最大値を下回ることを確認します。そうでない場合は、値が指定の最大値以下であることを確認します。value パラメーターは、BigDecimal 文字列形式で最大値を指定します。

@DecimalMin(value=, inclusive=)

BigDecimalBigIntegerCharSequencebyteshortintlong、およびプリミティブ型ラッパー

inclusive=false の場合、アノテーションが付けられた値が指定された最小値を上回ることを確認します。そうでない場合は、値が指定の最小値以上であることを確認します。value パラメーターは BigDecimal 文字列形式で最小値を指定します。

@Digits(integer=, fraction=)

BigDecimalBigIntegerCharSequencebyteshortintlong、およびプリミティブ型ラッパー

アノテーションが付けられた値が、整数部の桁数が integer までで、小数部の桁数が fraction までの数値であるかどうかを確認します。

@Future

java.util.Date, java.util.Calendar

アノテーション付き日付が未来の日付であるかどうかを確認します。

@Max(value=)

BigDecimalBigIntegerCharSequencebyteshortintlong、およびプリミティブ型ラッパー

アノテーション付きの値が指定の最大値以下であるかを確認します。

@Min(value=)

BigDecimalBigIntegerCharSequencebyteshortintlong、およびプリミティブ型ラッパー

アノテーション付きの値が指定の最小値以上であるかを確認します。

@NotNull

任意のタイプ

アノテーションが付けられた値が null でないことを確認します。

@Null

任意のタイプ

アノテーションが付けられた値が null であることを確認します。

@Past

java.util.Date, java.util.Calendar

アノテーションが付けられた日付が過去のものであるかどうかを確認します。

@Pattern(regex=, flag=)

CharSequence

指定されたフラグの一致を考慮して、アノテーションが付けられた文字列が正規表現 regex に一致するかどうかをチェックします。

@Size(min=, max=)

CharSequenceCollectionMap、および配列

アノテーションが付けられたコレクション、マップ、または配列のサイズが min 以上 max 以下であるかどうかを確認します。

@Valid

プリミティブ以外のタイプ

注釈付きオブジェクトに対して再帰的に検証を実行します。オブジェクトがコレクションかアレイの場合は、要素は再帰的に検証されます。また、オブジェクトがマップの場合、値要素が再帰的に検証されます。