バリデータの作成

バリデータの作成

バリデータの作成


バリデータ クラスを拡張し、独自のバリデータとバリデータ要素タグを作成することができます。


独自のバリデータを作成するのに実行する必要がある、主な手順は次のとおりです。

  • 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()"/>