OValプラグインを利用して設定できるチェック内容
ではOValプラグインを利用することで入力チェック可能な内容を一覧で示します。単純な単一パラメータのフォーマットチェックや必須チェックだけでなく、オブジェクトに対するチェックも可能になっています。チェックで必要なパラメータやメソッドが必要なものについても説明内に記載しています。
| アノテーション名 | 説明 | チェックタイプ |
| AssertFalse | 指定された値(Boolean)の値がFalseであること。単体オブジェクトのみではなく、AssertValidのようにネストされたオブジェクトに対して指定が可能になる。1つでもFalseである場合はFalseになる。 | Boolean |
| AssertTrue | 指定された値(Boolean)の値がTrueであること。AssertFalseの逆の結果となる。 | Boolean |
| AssertValid | アノテーションをつけたクラス内のフィールドにてチェック内容を記載することを宣言する。そのクラスのネストされたメソッドにてチェック内容が記述可能。Struts 2でのVisitorFieldValidatorの役割と一緒。 | Custom |
| CheckWith | 複雑な入力チェックを実装可能。CheckWithCheck.SimpleCheckを実装したインナークラスにてチェック内容をコードで実装する。 public boolean isSatisfied(Object validatedObject, Object value) が必須実装。 |
Custom |
| CheckWithMultiple | CheckWithによるチェックが複数ある場合に使われる。チェック用インナークラスが複数実装可能。 | Custom |
| ValidateWithMethod | methodNameで指定したメソッドを起動し、true/falseでチェック結果を取得する。parameterTypeで引数の型を指定する(プリミティブも.classで指定可能)。 | Custom |
| DateRange | min~max以内の日付(Date)であること。属性formatにてSimpleDataFormatで定義できるフォーマットを定義できる。 | Date |
| Future | 入力された値が、現在より未来であること。 | Date |
| Past | 入力された値が、現在より過去であること。 | Date |
| EqualToField | valueにて指定したフィールドと同じ値であること。メールアドレスやパスワードなど、同じ値が入力されることを想定した項目に使われる。 | Field |
| NotEqualToField | 入力された値が、指定されたフィールドと等しくないこと。EqualToFieldの逆パターン。 | Field |
| NotNull | 指定されたインスタンスやフィールドがnullでないこと。 | Field |
| InstanceOf | 対象のインスタンスが、指定されたクラスまたはインターフェースであること。インターフェースの場合、指定されたインターフェースがすべて含まれている場合にTrueになる。 | Instance |
| InstanceOfAny | 対象のインスタンスが、指定されたクラスまたはインターフェースであること。インターフェースの場合、指定されたインターフェースのいずれか1つ含まれている場合にTrueになる。 | Instance |
| NoSelfReference | 指定したインスタンスがチェック対象のインスタンス自身ないしは参照でないこと。 | Instance |
| Length | 入力された値(=文字列)がmin~max以内の長さであること。 | Length |
| MaxLength | 入力された値の文字列長がvalue以下であること。 | Length |
| MinLength | 入力された値の文字列長がvalue以上であること。 | Length |
| Max | 入力された値(数値)がvalue以下であること。 | Range |
| Min | 入力された値(数値)がvalue以上であること。 | Range |
| NotNegative | 入力された値(数値)が、マイナスの値でないこと。0以上の数値。 | Range |
| Range | 入力された値(数値:double)が、min~max以内であること。 | Range |
| [Validなメールアドレス]であること。チェックは正規表現で行われる。EmailCheck.EMAIL_PATTERN にて正規表現の書式をカスタマイズすることができる。 | Regex | |
| MatchPattern | 入力された値(=文字列)がpattern[]で定義された正規表現を満たすこと。Pattertn配列には文字列で定義する。 | Regex |
| NotMatchPattern | 入力された値(文字列)が、指定された正規表現を満たさないこと。MatchPatternの逆。 | Regex |
| MaxSize | 指定された配列またはCollectionの長さがvalue以下であること。 | Size |
| MinSize | 指定された配列またはCollectionの長さがvalue以上であること。 | Size |
| Size | 指定された配列またはCollectionの長さ(length())が、mix~max以内であること。 | Size |
| HasSubstring | 入力された値が、valueの文字列を含むこと。String.substring()で値が含まれる。 | String |
| MemberOf | 入力された値(文字列)がvalue(String[])で指定している文字列集合のどれかに合致すること。 | String |
| NotBlank | 入力された値が空白でないこと。半角空白のみの文字列(文字数は問わない)であればfalseとなる。 | String |
| NotEmpty | 入力された値が空文字("")でないこと。 | String |
| NotEqual | 入力された値(文字列)がvalueで指定された値と等しくないこと。 | String |
| NotMemberOf | 入力された値(文字列)がvalue(String[])で指定している文字列集合のどれにも合致しないこと。 | String |
| AssertURL | [ValidなURL]であること。permittedURISchemesにて許可するプロトコルを設定する。デフォルトは{HTTP, HTTPS, FTP}。 | URLCheck |
