_DataDOMEventSink_Event.OnValidate-Ereignis
Tritt ein, nachdem Änderungen an dem einem Formular zugrunde liegenden XML-Dokument angenommen wurden, jedoch bevor das OnAfterChange-Ereignis eintritt.
Namespace: Microsoft.Office.Interop.InfoPath.SemiTrust
Assembly: Microsoft.Office.Interop.InfoPath.SemiTrust (in microsoft.office.interop.infopath.semitrust.dll)
Syntax
'Declaration
Event OnValidate As _DataDOMEventSink_OnValidateEventHandler
'Usage
Dim instance As _DataDOMEventSink_Event
Dim handler As _DataDOMEventSink_OnValidateEventHandler
AddHandler instance.OnValidate, handler
event _DataDOMEventSink_OnValidateEventHandler OnValidate
Hinweise
Dieser Ereignishandler lässt nicht zu, dass Benutzer einen Vorgang abbrechen.
Während des OnValidate-Ereignisses wird das dem Formular zugrunde liegende XML-Dokument in den Schreibschutzmodus versetzt.
Das OnValidate-Ereignis wird normalerweise für die Behandlung von Fehlern und die Arbeit mit der ErrorsCollection-Auflistung verwendet, um z. B. neue Fehler hinzuzufügen oder vorhandene Fehler zu löschen.
Hinweis: |
---|
In einigen Fällen können Ereignisse, die mit Änderungen an dem einem Formular zugrunde liegenden XML-Dokument verbunden sind, mehr als einmal eintreten. So erfolgt z. B. beim Ändern vorhandener Daten ein Einfüge- und ein Löschvorgang. |
Beispiel
Im folgenden Beispiel wird die Site-Eigenschaft des DataDOMEventObject-Objekts zum Überprüfen des Knotenwerts verwendet. Wenn die Datenüberprüfung einen Fehler zurückgibt, wird die ReportError-Methode verwendet, um einen benutzerdefinierten Fehler zu erstellen:
[InfoPathEventHandler(MatchPath="/my:myFields/my:field1", EventType=InfoPathEventType.OnValidate)]
public void field1_OnValidate(DataDOMEvent e)
{
if (int.Parse(e.Site.text) > 50)
{
e.ReportError(
e.Site,
"Invalid quantity. The total number of each type of block cannot exceed 50.",
false,
"",
2,
"modeless");
}
if (int.Parse(e.Site.text) < 0)
{
e.ReportError(
e.Site,
"Invalid quantity. The total number of each type of block cannot be less than 0.",
false,
"",
2,
"modeless");
}
}
Siehe auch
Referenz
_DataDOMEventSink_Event-Schnittstelle
_DataDOMEventSink_Event-Member
Microsoft.Office.Interop.InfoPath.SemiTrust-Namespace