_DataDOMEventSink_Event.OnValidate, événement
Se produit après l'acceptation des modifications effectuées dans le document XML sous-jacent d'un formulaire mais avant l'événement OnAfterChange.
Espace de noms : Microsoft.Office.Interop.InfoPath.SemiTrust
Assembly : Microsoft.Office.Interop.InfoPath.SemiTrust (dans microsoft.office.interop.infopath.semitrust.dll)
Syntaxe
Event OnValidate As _DataDOMEventSink_OnValidateEventHandler
Dim instance As _DataDOMEventSink_Event
Dim handler As _DataDOMEventSink_OnValidateEventHandler
AddHandler instance.OnValidate, handler
event _DataDOMEventSink_OnValidateEventHandler OnValidate
Remarques
Ce gestionnaire d'événements ne permet pas aux utilisateurs d'annuler une opération.
Pendant l'événement OnValidate, le document XML sous-jacent du formulaire est mis en mode lecture seule.
L'événement OnValidate est généralement utilisé pour la gestion des erreurs et l'utilisation de la collection ErrorsCollection (par exemple, ajout de nouvelles erreurs ou suppression d'erreurs existantes).
Remarque |
---|
Dans certains cas, les événements liés aux modifications dans le document XML sous-jacent d'un formulaire peuvent se produire plusieurs fois. Par exemple, lorsque des données existantes sont modifiées, une opération d'insertion et de suppression se produit. |
Exemple
Dans l'exemple suivant, la propriété Site de l'objet DataDOMEventObject est utilisée pour vérifier la valeur du nœud. Si la validation des données échoue, la méthode ReportError est utilisée pour créer une erreur personnalisée :
[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");
}
}
Voir aussi
Référence
_DataDOMEventSink_Event, interface
Membres _DataDOMEventSink_Event
Microsoft.Office.Interop.InfoPath.SemiTrust, espace de noms