XmlEvent.Validating イベント
フォームの基になっている XML ドキュメントに対する変更が受け付けられた後で、Changed イベントが発生する前に発生します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride 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 InfoPath 2010 が EventManager クラスおよび XmlEvent クラスのメンバーを使用してフォーム コード ファイルの InternalStartup メソッドにコードを生成し、ドキュメント レベルのイベントをイベント ハンドラーにバインドします。 InfoPath のデザイン モードでイベント ハンドラーを追加する方法の詳細については、「[方法] イベント ハンドラーを追加する方法」を参照してください。
Validating イベントは、XmlValidatingEventHandler デリゲートを使用してバインドされます。
このイベント ハンドラーでは、ユーザーが操作を取り消すことはできません。
Validate イベントの間に、フォームの基になっている XML ドキュメントは読み取り専用のモードに設定されます。
Validate イベントは、通常、新しいエラーの追加や既存のエラーの削除など、エラーの処理と FormErrorCollection コレクションの処理のために使用されます。
この型またはメンバーには、Microsoft InfoPath Filler または 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