バリデータの作成
バリデータの作成
バリデータ クラスを拡張し、独自のバリデータとバリデータ要素タグを作成することができます。
独自のバリデータを作成するのに実行する必要がある、主な手順は次のとおりです。
- 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()"/>
, multiple selections available,