Evento _DataDOMEventSink_Event.OnValidate
Generato dopo l'accettazione delle modifiche apportate al documento XML sottostante di un modulo ma prima che si verifichi l'evento OnAfterChange.
Spazio dei nomi: Microsoft.Office.Interop.InfoPath.SemiTrust
Assembly: Microsoft.Office.Interop.InfoPath.SemiTrust (in microsoft.office.interop.infopath.semitrust.dll)
Sintassi
Event OnValidate As _DataDOMEventSink_OnValidateEventHandler
Dim instance As _DataDOMEventSink_Event
Dim handler As _DataDOMEventSink_OnValidateEventHandler
AddHandler instance.OnValidate, handler
event _DataDOMEventSink_OnValidateEventHandler OnValidate
Osservazioni
Questo gestore eventi non consente di annullare un'operazione.
Durante l'evento OnValidate viene attivata la modalità di sola lettura per il documento XML sottostante del modulo.
L'evento OnValidate viene in genere utilizzato per gestire errori e utilizzare l'insieme ErrorsCollection, ad esempio per aggiungere nuovi errori o eliminare quelli esistenti.
![]() |
---|
In alcuni casi è possibile che gli eventi correlati a modifiche del documento XML sottostante di un modulo si verifichino più di una volta. Ad esempio, quando si modificano dati esistenti, viene eseguita un'operazione di inserimento ed eliminazione. |
Esempio
Nell'esempio seguente, la proprietà Site dell'oggetto DataDOMEventObject viene utilizzata per controllare il valore del nodo. Se la convalida dei dati ha esito negativo, viene utilizzato il metodo ReportError per creare un errore personalizzato:
[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");
}
}
Vedere anche
Riferimenti
Interfaccia _DataDOMEventSink_Event
Membri _DataDOMEventSink_Event
Spazio dei nomi Microsoft.Office.Interop.InfoPath.SemiTrust