onvalidate イベント・ハンドラの追加
form の save メソッドを実行すると、フォーム・コントロールごとに onvalidate イベント・ハンドラ・メソッドが呼び出されます (定義されている場合)。フォーム・コントロールに対してイベント・ハンドラを実装することにより、フォームの対応するフィールドの検証を提供できます。
State フィールドに検証を追加するには、以下の手順を実行してください。
-
次のクライアント側メソッドを HomePage.cls に追加します。
ClientMethod validateState(comp) [ Language = javascript ] { //State value must be exactly two capital letters return (/^[A-Z]{2}$/.test(comp.getValue())); }
-
“State” <text> 要素の onvalidate および invalidMessage 属性に値を追加します。要素を更新すると、以下のようになります。
<text label="State" dataBinding="State" size="2" onvalidate="return zenPage.validateState(zenThis);" invalidMessage="State must contain 2 capital letters" required="true" />
この検証コードについて、以下のことに注意してください。
-
validateState から false が返された場合、フォームは無効です。
-
フォームの State フィールドに、2 つの大文字以外の値が含まれている場合、validateState は false を返します。フィールドが空の場合、メソッドは呼び出されません。フィールドが空でないことを確認するには、コンポーネントに required=true を設定します。
-
text コンポーネントへの参照は、zenThis 変数を使用して、validateState に渡されます。