[INP2003] [HowTo] データの入力規則のカスタム エラー メッセージで、検証するコントロールの名前を表示する方法

文書翻訳 文書翻訳
文書番号: 822032 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

Microsoft Office InfoPath 2003 では、フォームに入力したデータが自動的に確認されます。データの値が、データの入力規則に指定した条件を満たさない場合は、エラー メッセージが表示されます。エラー メッセージは、以下のいずれかの方法で表示できます。
  • ダイアログ ボックス警告。この形式のデータの入力規則では、コントロールに無効なデータが入力されたときに、ダイアログ ボックスを開いてカスタム エラー メッセージを表示します。
  • インライン警告。この形式のデータの入力規則では、コントロールが無効なデータを保持するときに、そのコントロールに赤い破線の境界で印が付けられます。

    そのコントロールを右クリックするか、そのコントロール上にマウス ポインタを移動して画面ヒントを確認すると、インライン エラー メッセージからエラー メッセージを表示できます。
この資料では、ユーザー インターフェイスまたはスクリプトからインライン エラー メッセージを作成する方法を説明します。作成するインライン エラー メッセージでは、入力規則エラーがあったコントロールの名前がカスタム エラー メッセージに表示されます。

フォームをデザインする

  1. InfoPath を起動します。
  2. [ファイル] メニューの [フォームのデザイン] をクリックします。[フォームのデザイン] 作業ウィンドウで [新しい空白のフォーム] をクリックします。
  3. [デザイン タスク] 作業ウィンドウで、[データ ソース] をクリックし、[データ ソース] 作業ウィンドウを開きます。
  4. [データ ソース] 作業ウィンドウで、[マイフィールド] を右クリックし、[追加] をクリックします。[フィールドまたはグループの追加] ダイアログ ボックスで、[名前] ボックスに Age と入力します。[データ型] ボックスの一覧で、[整数 (integer)] をクリックし、[OK] をクリックします。
  5. [Age] フィールドをフォームに移動します。

ユーザー インターフェイスを使用してデータの入力規則を追加する

  1. [Age] テキスト ボックス コントロールを右クリックし、[テキスト ボックスのプロパティ] をクリックします。[テキスト ボックスのプロパティ] ダイアログ ボックスで、[データの入力規則] をクリックします。
  2. [データの入力規則 (Age)] ダイアログ ボックスで、[追加] をクリックします。
  3. 条件式のボックスの一覧で、[次の値より小さい] をクリックします。
  4. 条件値のボックスの一覧で、[数値の入力] をクリックし、30 と入力します。
  5. [AND/OR] をクリックします。
  6. 新しく表示されたボックスの一覧で [And] を [Or] に変更します。
  7. 2 番目の条件式のボックスの一覧で、[次の値より大きい] をクリックします。
  8. 2 番目の条件値のボックスの一覧で、[数値の入力] をクリックし、65 と入力します。
  9. [ヒント] ボックスに、Age フィールドの値は 30 より大きく、 65 より小さい値にする必要があります。と入力します。
  10. [OK] を 3 回クリックし、すべてのダイアログ ボックスを閉じます。

スクリプトを使用してデータの入力規則を追加する

  1. [Age] テキスト ボックス コントロールを右クリックし、[テキスト ボックスのプロパティ] をクリックします。[テキスト ボックスのプロパティ] ダイアログ ボックスで、[データの入力規則] をクリックします。
  2. [データの入力規則 (Age)] ダイアログ ボックスの、[イベント] ボックスの一覧で [OnValidate] をクリックし、[編集] をクリックします。

    Microsoft Script Editor が起動します。
  3. Age フィールドの OnValidate イベントに以下のコードを追加します。
    function msoxd_my_Age::OnValidate(eventObj)
    {
    	// Clear any previous errors for this node.
    	XDocument.Errors.Delete(eventObj.Site,"InvalidValue");
    	
    	//Set the valAge variable to the value that is entered in the Age field.
    	var valAge = parseInt(eventObj.Site.text);
    	
    	//If the value that is entered in the Age field is less than 30 or 
    	//greater than 65, add a passive error to the collection of the error.
    	if ((valAge < 30) || (valAge > 65))
    	{
    		XDocument.Errors.Add(eventObj.Site,"InvalidValue",eventObj.Site.baseName + " フィールドの値は 30 より大きく、 65 より小さい値にする必要があります");
    	
    	}
    }
  4. 変更を保存します。Script Editor を終了します。
  5. [OK] をクリックして [データの入力規則 (Age)] ダイアログ ボックスを閉じてから、[OK] をクリックして [テキスト ボックスのプロパティ] ダイアログ ボックスを閉じます。

フォームをテストする

  1. ツール バーの [フォームのプレビュー] をクリックします。
  2. [Age] フィールドに 29 と入力し、フィールドの外部をクリックします。

    コントロールが赤い破線の境界線で強調表示されます。これは、値が無効であることを示しています。
  3. マウス ポインタをコントロールの上に移動します。

    画面ヒントにカスタム エラー メッセージが表示されます。そのエラー メッセージには、無効なデータを含むコントロールの名前が含まれています。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 822032 (最終更新日 2003-10-09) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。

プロパティ

文書番号: 822032 - 最終更新日: 2003年11月6日 - リビジョン: 1.0
この資料は以下の製品について記述したものです。
  • Microsoft Office InfoPath 2003
キーワード:?
kbhowtomaster kbhowto KB822032
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com