用意されているバリデータ

用意されているバリデータ

用意されているバリデータ


このドキュメントでは、用意されている次のバリデータの使用方法について説明します。

 

バリデータ

説明

requiredFieldValidator

フィールドに値が含まれているかどうかを検証します。

stringLengthValidator

フィールドに指定した範囲の長さの値が含まれているかどうかを検証します。この検証は、入力されたデータの量に基づいて行われます。

integerValidator

フィールドに有効な整数が含まれているかどうかを検証します。

decimalValidator

フィールドに有効な 10 進数または浮動小数点数が含まれているかどうかを検証します。

rangeValidator

フィールドに指定した範囲の整数または 10 進数が含まれているかどうかを検証します。この検証は、入力されたデータの実際の値に基づいて行われます。

dateValidator

フィールドに指定した日付フォーマットの値が含まれているかどうかを検証します。

currencyValidator

フィールドに指定したロケールに基づく有効な通貨金額が含まれているかどうかを検証します。

validatorChain

一度に実行する一連のバリデータを指定します。


共通属性


用意されているバリデータは、いずれも次の共通属性を持っています。

バリデータ タグ要素

説明

id=“passwordValidator”

特定のバリデータ タイプの特定のインスタンスに一意の ID を指定します。

value=“password.text”

UI ファイルの textFieldまたは passwordFieldの ID と、そのフィールドの検証対象の text属性を指定します。

onSuccess=“mco://myMco.validPassword()”

検証が成功したときに実行する MCO (たとえば、成功のメッセージを表示する) を指定します。

onFailure=“mco://myMco.invalidPassword()”

検証が成功しなかったときに実行する MCO (たとえば、失敗のメッセージを表示する) を指定します。


例:


バリデータ宣言

<validator:requiredFieldValidator xmlns="http://nexaweb.com/validator" id="usernameValidator" value="username.text" onSuccess="macro://success.execute()" onFailure="macro://failure.execute()" />


検証する要素
<textField id=“username” text=“” />

stringLengthValidator


stringLengthValidatorは、すべてのバリデータに共通する属性に加えて、次の属性を持っています。

属性

説明

maximum =

フィールドに含めることができる最大文字数です。

minimum =

フィールドに含めることができる最小文字数です。


maximum と minimum には、指定した値が含まれます。


maximum または minimum のどちらか一方のみを指定することにより、最小値または最大値に制限のない値を使用できます。


maximum または minimum を指定しない場合、バリデータを呼び出した要素では、データの長さが任意となります。


例:


次の stringLengthValidator では、長さが 8 ~ 15 文字の文字列を検証します。


バリデータ宣言

<validator:stringLengthValidator xmlns=“http://nexaweb.com/validator” id=“passwordValidator” value=“password.text” minimum=“8” maximum=“15” onSuccess=“mco://myMco.validPassword()” onFailure=“mco://myMco.invalidPassword()” />


検証する要素
<passwordField id=“password” text=“” />


minimum 属性の値として 8 を指定すると、8 文字以上で最大文字数が無制限の範囲が作成されます。


maximum 属性の値として 8 を指定すると、8 文字以下で最小文字数が無制限の範囲が作成されます。


minimum 属性および maximim 属性の値として 8 を指定すると、長さが 8 文字ちょうどである値が検証されます。


rangeValidator


rangeValidatorは、すべてのバリデータに共通する属性に加えて、次の属性を持っています。

属性

説明

locale

数値のフォーマット設定で使用するロケールを指定します。ロケール値は、「言語コード_国コード」のフォーマットで指定します。
言語については、ISO-639 で定義されている小文字 2 文字のコードを使用します。すべての言語コードの一覧については、http://www.ics.uci.edu/pub/ietf/http/related/iso639.txtを参照してください。デフォルトは en(英語) です。
国については、ISO-3166 で定義されている大文字 2 文字のコードを使用します。すべてのコードの一覧については、http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html を参照してください。デフォルトは US(米国) です。

maximum

フィールドに含めることができる整数または 10 進数の最大値です。

minimum

フィールドに含めることができる整数または 10 進数の最小値です。

format

浮 動小数点数の範囲について、実数の精度を指定するために使用します。フォーマットは java.text.DecimalFormat のフォーマットスタイルに従う必要があります。浮動小数点数のフォーマットを指定しない場合、バリデータは予期せぬ動作を示すことがあります。


maximum と minimum には、指定した値が含まれます。


maximum または minimum のどちらか一方のみを指定することにより、最小値または最大値に制限のない値を使用できます。


例:


バリデータ宣言

<validator:rangeValidator xmlns=“http://nexaweb.com/validator” id=“weightValidator” value=“weight.text” minimum=“2.5” maximum=“5.8” format="0.0" locale="en_US" onSuccess=“mco://myMco.validWeight()” onFailure=“mco://myMco.invalidWeight()” />


検証する要素
<textField id=“weight” text=“” />

dateValidator

dateValidatorは、すべてのバリデータに共通する属性に加えて、次の属性を持っています。

属性

説明

format

許容可能な日付フォーマットを定義する、有効な java.text.SimpleDate フォーマット スタイルです。

locale

日付のフォーマット設定で使用するロケールを指定します。ロケール値は、「言語コード_国コード」のフォーマットで指定します。
言語については、ISO-639 で定義されている小文字 2 文字のコードを使用します。すべての言語コードの一覧については、http://www.ics.uci.edu/pub/ietf/http/related/iso639.txtを参照してください。デフォルトは en (英語) です。
国については、ISO-3166 で定義されている大文字 2 文字のコードを使用します。すべてのコードの一覧については、http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html を参照してください。デフォルトは US (米国) です。


例:


バリデータ宣言

<validator:dateValidator xmlns=“http://nexaweb.com/validator” id=“birthValidator” value=“birthdate.text” format="yyyy/MM/dd" locale="es_ES" onSuccess=“mco://myMco.validBirthdate()” onFailure=“mco://myMco.invalidBirthdate()” />

 

検証する要素
<textField id=“birthdate” text=“” />

currencyValidator

currencyLengthValidatorは、すべてのバリデータに共通する属性に加えて、次の属性を持っています。

属性

説明

locale

通貨のフォーマット設定で使用するロケールを指定します。ロケール値は、「言語コード_国コード」のフォーマットで指定します。
言語については、ISO-639 で定義されている小文字 2 文字のコードを使用します。すべての言語コードの一覧については、http://www.ics.uci.edu/pub/ietf/http/related/iso639.txtを参照してください。デフォルトは en (英語) です。
国については、ISO-3166 で定義されている大文字 2 文字のコードを使用します。すべてのコードの一覧については、http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html を参照してください。デフォルトは US (米国) です。

prefix

すべての入力値に含まれている必要があるプレフィックスを指定します。たとえば、$ を指定します。


例:


バリデータ宣言

<validator:dateValidator xmlns=“http://nexaweb.com/validator” id=“totalValidator” value=“total.text” prefix=“¥” locale="ja_JP" onSuccess=“mco://myMco.validTotal()” onFailure=“mco://myMco.invalidTotal()” />


検証する要素
<textField id=“total” text=“” />

バリデータ チェーン


UI ファイルの同じフィールドまたは異なるフィールドで一連のバリデータを実行する validatorChainを作成できます。


validatorChainは、ブール型の failFast 属性を持っています。この属性を true に設定すると、いずれかのバリデータが検証に失敗したときに、バリデータチェーンの実行が停止します。チェーンに含まれている各バリデータの onSuccess 動作とonFailure 動作を設定することに加えて、チェーンの onSuccess 動作と onFailure 動作を指定することもできます。チェーンは、チェーン内のすべてのバリデータが成功した場合に成功します。


チェーンに含まれるいずれかのバリデータまたはすべてのバリデータの onSuccess 動作および onFailure 動作に加えて、チェーンの onSuccess 動作および onFailure 動作も設定した場合、ユーザーにはチェーンの成功または失敗のメッセージだけでなく、各バリデータの成功または失敗のメッセージも表示される可能性があります。


validatorChainには次のものを含めることができます。

  • あらかじめ宣言済みのバリデータ

  • チェーン内で初めて宣言したバリデータ

  • バリデータ参照

validatorChain要素タグには、次の属性が含まれます。

<validator:validatorChain xmlns:val=http://nexaweb.com/validator id=“loginValidator” onSuccess=“mco://myMco.login()” onFailure=“macro://failure.execute(‘invalid username and or password’)” failFast= > <validator:Validator /> <validator:validatorReference /> </validator:validatorChain>

 

次の表に、validatorChainの属性についての説明を示します。

バリデータ タグ要素

説明

<validator:validatorChain
xmlns:val=http://nexaweb.com/validator

バリデータ チェーンの開始タグです。

id=“ ”

特定のバリデータ チェーンに一意の ID を指定します。

onSuccess=“ ”

チェーン内のすべてのバリデータの検証が成功したときに実行する MCO またはマクロ (たとえば、成功のメッセージを表示する) を指定します。

onFailure=“ ”

チェーン内のいずれかのバリデータの検証が失敗したときに実行する MCO またはマクロ (たとえば、失敗のメッセージを表示する) を指定します。

failFast=

チェー ン内のいずれかのバリデータの検証が失敗したときに、チェーンの実行を停止するかどうかを指定します。この属性は、デフォルトから変更する場合にのみ設定 します。デフォルトは true です。この属性を false に設定すると、バリデータ チェーンはチェーン内のいずれかのバリデータの結果に関係なく、チェーン内のすべてのバリデータが実行されるまで、実行を継続します。

<validator:Validator /> または <validator:validatorReference />

チェーン内に含める各バリデータまたはバリデータ参照を指定します。

</validator:validatorChain>

バリデータ チェーンの終了タグです。


例:

バリデータ宣言
 

<validator:requiredFieldValidator xmlns:validator="http://nexaweb.com/validator" id="passwordRequiredValidator" value="password.text" onSuccess="" onFailure="macro://failureMacro.execute('Password required')" />



バリデータチェーン宣言

  

<validator:validatorChain xmlns:validator="http://nexaweb.com/validator"> id="myValidator">  <validator:validatorReference validator="passwordRequiredValidator" />  <validator:stringLengthValidator value="password.text" minimum="8" maximum="20" onSuccess="mco://myMco.login()" onFailure="macro://failureMacro.execute( 'Password must be between 8 and 20 character')" />  </validator:validatorChain>



バリデートする要素

 <textField id="password" text="" onTextChange="validator://myValidator.execute()" /> 

この例では、validatorChain, myValidatorは2つのバリデータを含んでいます。: passwordRequiredValidator, はチェーン外で宣言し、レファレンスにより特定されます。stringLengthValidatorはチェーン内でのみ、宣言されます。

バリデータレファレンス

Shortcut syntaxとして、validator referenceを使用し、validator chainで以前宣言されたvalidatorを参照することができます。

validatorReference tag要素は以下のように表現されます :

 <validator:validatorReference xmlns:validator="http://nexaweb.com/validator" validator="usernameValidator" /> 

次の表はvalidatorReference 属性の説明を提供しています :

Validator タグ 要素

説明

<validator:validatorReference
xmlns:validator=“http://nexaweb.com/validator”

Validator referenceのタグを開く

validator=“ ”

この UI で宣言されるバリデータの ID を特定する