Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

onvalidate イベント・ハンドラの追加

formsave メソッドを実行すると、フォーム・コントロールごとに onvalidate イベント・ハンドラ・メソッドが呼び出されます (定義されている場合)。フォーム・コントロールに対してイベント・ハンドラを実装することにより、フォームの対応するフィールドの検証を提供できます。

State フィールドに検証を追加するには、以下の手順を実行してください。

  1. 次のクライアント側メソッドを HomePage.cls に追加します。

    
     ClientMethod validateState(comp) [ Language = javascript ]
    {
       //State value must be exactly two capital letters
       return (/^[A-Z]{2}$/.test(comp.getValue()));
    }        
    
    
  2. “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 つの大文字以外の値が含まれている場合、validateStatefalse を返します。フィールドが空の場合、メソッドは呼び出されません。フィールドが空でないことを確認するには、コンポーネントに required=true を設定します。

  • text コンポーネントへの参照は、zenThis 変数を使用して、validateState に渡されます。

Note:

Zen フォームの検証の詳細は、"Zen コンポーネントの使用法" の "Zen のフォーム" のセクションにある "フォームの検証" を参照してください。

FeedbackOpens in a new tab