Requires Platform 4.5+
Creating a Validator
You can extend the validator class to create your own validators and validator element tags.
To create your own validator, you must perform the following major steps:
- Create a subclass of the Validator class
- Define a validator element that references your custom Validator class
Subclass
...
バリデータ クラスを拡張し、独自のバリデータとバリデータ要素タグを作成することができます。
独自のバリデータを作成するのに実行する必要がある、主な手順は次のとおりです。
- Validator クラスのサブクラスを作成する
- カスタム Validator クラスを参照するバリデータ要素を定義する
次の例に、バリデータ サブクラスを示します。
Code Block | ||||
---|---|---|---|---|
| ||||
package myvalidators; public class EmailValidator extends Validator { protected boolean validate (Object objectToValidate) throws ValidationException{ ... } } |
Element Tag
...
要素タグ
カスタム バリデータ要素タグを作成するには、次の例に示すように validator 要素を使用します。
Code Block | ||||
---|---|---|---|---|
| ||||
<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
...
The Validator class contains the following methods that you can use to create a validator:
...
Validator クラスには、バリデータの作成に使用できる次のメソッドが含まれています。
メソッド | 説明 | 必須/省略可能 | |
initialize(ClientSession, Element) | Initializes the validator with the client session and element object associated with this validator. Called before validation occurs. Throws ValidatorInitializationException. Makes user input in field that you want to validate available to an MCO or Macro that provides validation onSuccess or onFailure messages. | Optional このバリデータに関連付けられているクライアント セッションと要素オブジェクトを使用し、バリデータを初期化します。 検証が行われる前に呼び出されます。ValidatorInitializationException をスローします。 検証するフィールド内のユーザー入力を、検証のonSuccessメッセージまたはonFailureメッセージを提供する MCO またはマクロで使用できるようにします。 | 省略可能 |
validate (Object) | Performs the actual validation on the specified object. Throws ValidationException. | Required |
...
指定されたオブジェクトで実際の検証を実行します。 ValidatorInitializationExceptionをスローします。 | 必須 |
例:
Code Block | ||||
---|---|---|---|---|
| ||||
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); } } |
Defining a Validator Element
Create an element tag to use a validator that you created in a Nexaweb client application.
Use the <val:validator /> element to create an tag for a custom validator as you would for a supplied validator and include the following attributes:
...
Nexaweb クライアント アプリケーションで作成したバリデータを使用する要素タグを作成します。
<val:validator />要素を使用し、用意されているバリデータのタグを作成するときと同じようにカスタムバリデータのタグを作成し、次の属性を含めます。
属性 | 説明 |
xmlns:val=“http://nexaweb.com/validator | Specify the validator namespace. バリデータ名前空間を指定します。 |
class= | References the validator subclass that you created for this custom validator. |
Example:
このカスタム バリデータ用に作成したバリデータ サブクラスを参照します。 |
例:
Code Block | ||||
---|---|---|---|---|
| ||||
<val:validator xmlns:val="http://nexaweb.com/validator" id="hairColorValidator" value="hairColor.text" class="myvalidators.HairColorValidator" onSuccess="mco://myMco.validHairColor()" onFailure="mco://myMco.invalidHairColor()"/> |
...