_DataDOMEventSink_Event.OnValidate Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit après que les modifications apportées au document XML sous-jacent d’un formulaire ont été acceptées, mais avant que l’événement OnAfterChange ne se produise.
public:
event Microsoft::Office::Interop::InfoPath::SemiTrust::_DataDOMEventSink_OnValidateEventHandler ^ OnValidate;
event Microsoft.Office.Interop.InfoPath.SemiTrust._DataDOMEventSink_OnValidateEventHandler OnValidate;
member this.OnValidate : Microsoft.Office.Interop.InfoPath.SemiTrust._DataDOMEventSink_OnValidateEventHandler
Event OnValidate As _DataDOMEventSink_OnValidateEventHandler
Type d'événement
Exemples
Dans l’exemple suivant, la Site propriété de l’objet DataDOMEventObject est utilisée pour case activée la valeur du nœud. Si la validation des données échoue, la ReportError(Object, String, Boolean, String, Int32, String) méthode est utilisée pour créer une erreur personnalisée :
[InfoPathEventHandler(MatchPath="/my:myFields/my:field1", EventType=InfoPathEventType.<span class="label">OnValidate</span>)]
public void field1_<span class="label">OnValidate</span>(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");
}
}
Dans l’exemple suivant, la Site propriété de l’objet DataDOMEventObject est utilisée pour case activée la valeur du nœud. Si la validation des données échoue, la ReportError(Object, String, Boolean, String, Int32, String) méthode est utilisée pour créer une erreur personnalisée :
[InfoPathEventHandler(MatchPath="/my:myFields/my:field1", EventType=InfoPathEventType.<span class="label">OnValidate</span>)]
public void field1_<span class="label">OnValidate</span>(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");
}
}
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 gérer les erreurs et utiliser la ErrorsCollection collection, par exemple, pour ajouter de nouvelles erreurs ou supprimer des erreurs existantes.
Remarque : Dans certains cas, les événements liés aux modifications apportées au 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.