設定方法
必須チェック
対象コンポーネント.setRequired(true);で設定する。
その他
対象コンポーネントに、IValidatorを継承したバリデーションクラスを対象コンポーネント.add(IValidator);で設定する。
数値の最小、最大、範囲指定
| 1 2 3 | MinimumValidator(minNumber); MaximumValidator(maxNumber); RangeValidator(minNumber, maxNumber); | 
文字列長の固定長、最小、最大、範囲指定
| 1 2 3 4 | StringValidator.exactLength(minLength); StringValidator.minimumLength(minLength); StringValidator.maximumLength(maxLength); StringValidator.lengthBetween(minLength, maxLength); | 
正規表現
| 1 | new PatternValidator(正規表現) | 
メッセージ設定
プロパティファイルに特定のキーでメッセージや置換文字列を用意しておくとそれが使用される。どんなものがあるかはWicketのソースを見ると手っ取り早い。
一例(XML形式)
| 1 2 | <entry key="StringValidator.minimum">'${input}' は最低 ${minimum} 文字必要です。</entry> <entry key="StringValidator.maximum">'${input}' は最大 ${maximum} 文字までです。</entry> | 
バリデーションクラスを自作した場合は、クラス名をキーにしてメッセージを作成する。
| 1 | <entry key="UnkoValidator">'${unko}' はうんこではありません。</entry> | 
自作したバリデーションクラスのほうでは、置換文字と表示内容を設定する必要がある。
| 1 2 3 4 5 6 7 8 | @Override protected Map variablesMap(IValidatable validatable) {   Map map = super.variablesMap(validatable);   // キーと値(コンポーネントの名称)を設定   // この例ではメッセージの ${unko} が unkoLabel に置換され表示される   map.put("unko", unkoLabel);   return map; } | 
