次の方法で共有


XmlEvent.Validating イベント

定義

フォームの基になる XML ドキュメントの変更が受け入れられた後、イベントが発生する Changed 前に発生します。

public:
 abstract event Microsoft::Office::InfoPath::XmlValidatingEventHandler ^ Validating;
public abstract event Microsoft.Office.InfoPath.XmlValidatingEventHandler Validating;
member this.Validating : Microsoft.Office.InfoPath.XmlValidatingEventHandler 
Public MustOverride Custom Event Validating As XmlValidatingEventHandler 

イベントの種類

例外

開発者は、セカンダリ データ ソースのノードにイベントをバインドしようとしました。 このイベントは、セカンダリ データ ソースに対してはサポートされていません。

次の例では、field9 の変更が受け入れられた後、Validate イベントが発生し、FormErrorfield6 に関連付けられているオブジェクトが メソッドを使用してAdd(XPathNavigator, String, String, String)フォームの FormErrorCollection に追加されます。

これにより、エラー メッセージと field6 が関連付けられます。 Add メソッドのパラメーターとしてmessage渡された文字列は、ユーザーが field6 の上にマウス ポインターを置くと画面ヒントに表示されます。 ユーザーが field6 を右クリックし、[エラーの完全な説明] をクリックすると、Add メソッドのパラメーターとしてmessageDetails渡された文字列を含む完全なエラー メッセージが表示されます。

public void field9_Validating(object sender, XmlValidatingEventArgs e)
{
   XPathNavigator errNode = 
      this.CreateNavigator().SelectSingleNode("/my:myFields/my:field6", 
      NamespaceManager);

   this.Errors.Add(errNode, "Field9Validating", 
      "Field9 was validated.", 
      "Field9 was validated and an error was assocated with Field6.");
}
Public Sub field9_Validating(ByVal sender As Object, _
   ByVal e As XmlValidatingEventArgs )
   Dim errNode As XPathNavigator = _
      Me.CreateNavigator().SelectSingleNode("/my:myFields/my:field6", _
      NamespaceManager)

   Me.Errors.Add(errNode, "Field9Validating", _
      "Field9 was validated.", _
      "Field9 was validated and an error was associated with Field6.")
End Sub

注釈

重要: Validate イベントは、フォーム コードで開発者がインスタンス化することを意図したものではありません。 デザイン モードのユーザー インターフェイスからフォーム テンプレートにイベント ハンドラーを追加すると、Microsoft InfoPath は、 クラスと クラスのメンバーを使用してEventManager、フォーム コード ファイルの InternalStartup メソッドでコードを生成し、ドキュメント レベルのXmlEventイベントをイベント ハンドラーにバインドします。 InfoPath のデザイン モードでイベント ハンドラーを追加する方法の詳細については、「[方法] イベント ハンドラーを追加する方法」を参照してください。

Validate イベントは、デリゲートをXmlValidatingEventHandler使用してバインドされます。

このイベント ハンドラーでは、ユーザーが操作を取り消すことはできません。

Validate イベントの間に、フォームの基になっている XML ドキュメントは読み取り専用のモードに設定されます。

Validate イベントは、通常、エラーの処理やコレクションのFormErrorCollection操作に使用されます。たとえば、新しいエラーの追加や既存のエラーの削除などです。

この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開いたフォームで実行されるコードからアクセスできます。

適用対象