/
バリデータの作成
バリデータの作成
バリデータの作成
バリデータ クラスを拡張し、独自のバリデータとバリデータ要素タグを作成することができます。
独自のバリデータを作成するのに実行する必要がある、主な手順は次のとおりです。
- Validator クラスのサブクラスを作成する
- カスタム Validator クラスを参照するバリデータ要素を定義する
サブクラス
次の例に、バリデータ サブクラスを示します。
package myvalidators; public class EmailValidator extends Validator { protected boolean validate (Object objectToValidate) throws ValidationException{ ... } }
要素タグ
カスタム バリデータ要素タグを作成するには、次の例に示すように validator 要素を使用します。
<validator:validator id="emailValidator" class="myvalidators.EmailValidator" value="email.text" onSuccess="" onFailure="macro://failureMacro.execute('Not a valid email address')" />
Validator クラスのサブクラスの作成
バリデータを作成するには、com.nexaweb.plugin.validation.validators.Validatorサブクラスを作成し、#validate をオーバーライドする必要があります。
Validator クラスには、バリデータの作成に使用できる次のメソッドが含まれています。
メソッド | 説明 | 必須/省略可能 |
initialize(ClientSession, Element) | このバリデータに関連付けられているクライアント セッションと要素オブジェクトを使用し、バリデータを初期化します。 検証が行われる前に呼び出されます。ValidatorInitializationException をスローします。 検証するフィールド内のユーザー入力を、検証のonSuccessメッセージまたはonFailureメッセージを提供する MCO またはマクロで使用できるようにします。 | 省略可能 |
validate (Object) | 指定されたオブジェクトで実際の検証を実行します。 ValidatorInitializationExceptionをスローします。 | 必須 |
例:
package myvalidators.HairColorValidator; public class HairColorValidator extends Validator { protected boolean validate (Object objectToValidate) { List hairColors = new ArrayList(); hairColors.add("brown"); hairColors.add("red"); hairColors.add("black"); return hairColors.contains(objectToValidate); } }
バリデータ要素の定義
Nexaweb クライアント アプリケーションで作成したバリデータを使用する要素タグを作成します。
<val:validator />要素を使用し、用意されているバリデータのタグを作成するときと同じようにカスタムバリデータのタグを作成し、次の属性を含めます。
属性 | 説明 |
xmlns:val=“http://nexaweb.com/validator | バリデータ名前空間を指定します。 |
class= | このカスタム バリデータ用に作成したバリデータ サブクラスを参照します。 |
例:
<val:validator xmlns:val="http://nexaweb.com/validator" id="hairColorValidator" value="hairColor.text" class="myvalidators.HairColorValidator" onSuccess="mco://myMco.validHairColor()" onFailure="mco://myMco.invalidHairColor()"/>