次の方法で共有


XmlEvent.Validating イベント

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

名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)

構文

'宣言
Public Event Validating As XmlValidatingEventHandler
'使用
Dim instance As XmlEvent
Dim handler As XmlValidatingEventHandler

AddHandler instance.Validating, handler
public abstract event XmlValidatingEventHandler Validating

例外処理

例外の種類 条件

InvalidOperationException

開発者は、InternalStartup メソッドとは異なる場所でイベントをバインドしようとしました。

InvalidOperationException

開発者は、ノードまたはグループを指定している 1 つの XPath 式に対して、複数の代理を追加しようとしました。このイベントに対して追加できる代理は、ノードまたはグループに対する 1 つの XPath 式について 1 つだけです。

InvalidOperationException

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

コメント

メモ重要 :

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

Validating イベントは、XmlValidatingEventHandler 代理を使用してバインドされます。

このイベント ハンドラでは、ユーザーが操作をキャンセルすることはできません。

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

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

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

次の例では、変更が field9 に対して受け付けられた後、Validating イベントが発生し、field6 と関連付けられた FormError オブジェクトが、Add メソッドを使用してフォームの 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

関連項目

参照

XmlEvent クラス
XmlEvent のメンバ
Microsoft.Office.InfoPath 名前空間