Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

クライアント入力データの検証

...

バリデータは、UI ファイルの rootPane の外部で、次の基本構造を使用して宣言します。<validator

 

Code Block
<validator:stringLengthValidator


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


id=“passwordValidator”


value=“password.text”


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


onFailure=
“mco
“mco://myMco.invalidPassword()” />
バリデータ タグ要素
説明
id=“passwordValidator”
特定のバリデータ タイプの特定のインスタンスに一意の ID を指定します。
value=“password.text”
UI ファイルの textField または passwordField の ID と、そのフィールドの検証対象の text属性を指定します。
検証が成功したときに実行する MCO またはマクロ (たとえば、成功のメッセージを表示する) を指定します。
検証が成功しなかったときに実行する MCO またはマクロ (たとえば、失敗のメッセージを表示する) を指定します。

...

textField 属性
説明
id=" "
特定の textField 要素に一意の ID を指定します。
text=" "
Nexaweb クライアントで、ユーザーが入力したテキストを読み込むための属性を指定します。

例:

<textField
id=“startDate”
text=“” />

これらの textField 要素属性を指定することに加えて、バリデータを呼び出す textField イベントを textField 要素タグで指定することもできます。このドキュメントの「バリデータの呼び出し」を参照してください。

...

  • このイベントを処理する MCO またはマクロを作成する
  • バリデータを含む UI ファイルで MCO またはマクロを宣言する
  • バリデータの onSuccess 属性または onFailure属性 (あるいはその両方) から MCO またはマクロを呼び出す
例:

...

Code Block
languagehtml/xml
linenumberstrue
<mco:declarations xmlns:mco="http://nexaweb.com/mco">
    <mco:mco id="loginMco" src="mcos.LoginMco"
  </mco:declarations>
  <nxml xmlns:validator="http://nexaweb.com/validator">
    <validator:requiredFieldValidator id="usernameValidator" 
     value="username.text" onSuccess="" 
     onFailure="macro://failureMacro.execute('Username required')" />
    <validator:requiredFieldValidator id="passwordValidator" 
     value="password.text" onSuccess="mco://loginMco.enableLogInButton()" 
     onFailure="macro://failureMacro.execute('Password required')" />
  </nxml>
  <dialog id="loginDialog" title="Login" modal="true" closable="false">
    <flowLayout />
    <label text="Username:" />
    <textField id="username" text="" focused="true" 
     onTextChange="validator://usernameValidator.execute()" />
    <label text="Password:" />
    <passwordField id="password" text="" 
     onTextChange="validator://passwordValidator.execute()" />
    <button text="Log In" enabled="false" onCommand="mco://loginMco.login()" />
  </dialog> 

...


バリデータを呼び出すには、要素イベント ハンドラの値として次のコマンドを指定します。

usernameValidator には、呼び出す定義済みバリデータタグの名前を指定します。

...