XmlEvent.Validating-Ereignis (Microsoft.Office.InfoPath)

Tritt nach Annahme von an einem Formular zugrunde liegenden XML-Dokument vorgenommenen Änderungen ein, jedoch vor dem Eintreten des Changed-Ereignisses

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Syntax

'Declaration
Public Event Validating As XmlValidatingEventHandler
'Usage
Dim instance As XmlEvent
Dim handler As XmlValidatingEventHandler

AddHandler instance.Validating, handler
public abstract event XmlValidatingEventHandler Validating

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Es wurde versucht, das Ereignis an einen anderen Speicherort als die InternalStartup-Methode zu binden.

InvalidOperationException

Es wurde versucht, einem XPath-Ausdruck, der einen Knoten oder eine Gruppe angibt, mehrere Delegaten hinzuzufügen. Für dieses Ereignis kann nur ein Delegat pro XPath-Ausdruck für einen Knoten oder eine Gruppe hinzufügt werden.

InvalidOperationException

Es wurde versucht, das Ereignis an einen Knoten einer sekundären Datenquelle zu binden. Dieses Ereignis wird für sekundäre Datenquellen nicht unterstützt.

Hinweise

Wichtig

Das Validating-Ereignis sollte nicht im Formularcode instanziiert werden. Wenn Sie der Formularvorlage von der Entwurfsmodus-Benutzeroberfläche aus einen Ereignishandler hinzufügen, wird in Microsoft Office InfoPath 2007 mithilfe der EventManager-Klasse und mithilfe des Members der XmlEvent-Klasse in der InternalStartup-Methode der Formularcodedatei Code generiert, um Ereignisse auf Dokumentenebene an die zugehörigen Ereignishandler zu binden. Weitere Informationen zum Hinzufügen von Ereignishandlern im InfoPath-Entwurfsmodus finden Sie unter Vorgehensweise: Hinzufügen eines Ereignishandlers.

Die Bindung des Validating-Ereignisses erfolgt mithilfe des XmlValidatingEventHandler-Delegaten.

Dieser Ereignishandler lässt nicht zu, dass Benutzer einen Vorgang abbrechen.

Während des Validate-Ereignisses wird das dem Formular zugrunde liegende XML-Dokument in den Schreibschutzmodus versetzt.

Das Validate-Ereignis wird in der Regel für die Behandlung von Fehlern sowie zum Verwenden der FormErrorCollection-Auflistung verwendet, um z. B. neue Fehler hinzuzufügen oder vorhandene Fehler zu löschen.

Auf diesen Typ oder diesen Member kann über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 oder einem Webbrowser geöffnet wurden.

Beispiel

Im folgenden Beispiel wird, nachdem die Änderung von field9 angenommen wurde, das Validating-Ereignis ausgelöst und ein FormError-Objekt, das field6 zugeordnet ist, mithilfe derAdd-Methode im Formular FormErrorCollection hinzugefügt.

Auf diese Weise erfolgt die Zuordnung einer Fehlermeldung zu field6. Die als message-Parameter der Add-Methode übergebene Zeichenfolge wird in einer QuickInfo angezeigt, wenn der Benutzer die Maus über field6 bewegt. Wenn der Benutzer mit der rechten Maustaste auf field6 und dann auf Vollständige Fehlerbeschreibung klickt, zeigt InfoPath die vollständige Fehlermeldung an, einschließlich der als messageDetails-Parameter der Add-Methode übergebenen Zeichenfolge.

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

Siehe auch

Referenz

XmlEvent-Klasse
XmlEvent-Member
Microsoft.Office.InfoPath-Namespace