Validation.Error Événement attaché

Définition

Se produit quand l’élément lié rencontre une erreur de validation, mais uniquement pour les liaisons dont la valeur NotifyOnValidationError est true.Occurs when the bound element runs into a validation error, but only for bindings with the NotifyOnValidationError value set to true.

see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler

Remarques

Le WPFWPF modèle de liaison de données vous permet d’associer à ValidationRules votre Binding objet.The WPFWPF data binding model enables you to associate ValidationRules with your Binding object. La validation se produit pendant le transfert de la valeur source de liaison cible-à-liaison avant l’appel du convertisseur.Validation occurs during binding target-to-binding source value transfer before the converter is called. Les éléments suivants décrivent le processus de validation :The following describes the validation process:

  1. Lorsqu’une valeur est transférée de la propriété cible à la propriété source, le moteur de liaison de données supprime d’abord tout ValidationError qui a pu être ajouté à la Validation.Errors propriété jointe de l’élément lié.When a value is being transferred from the target property to the source property, the data binding engine first removes any ValidationError that may have been added to the Validation.Errors attached property of the bound element. Il vérifie ensuite s’il existe des ValidationRule s personnalisés définis pour celui Binding -ci. dans ce cas, il appelle la Validate méthode sur chacun des ValidationRule s jusqu’à ce que l’un d’eux s’exécute dans une erreur ou jusqu’à ce qu’ils soient tous passés.It then checks if there are any custom ValidationRules defined for that Binding, in which case it calls the Validate method on each of the ValidationRules until one of them runs into an error or until all of them pass.

  2. Une fois qu’une règle personnalisée ne réussit pas, le moteur de liaison crée un ValidationError objet et l’ajoute à la Validation.Errors collection de l’élément lié.Once there is a custom rule that does not pass, the binding engine creates a ValidationError object and adds it to the Validation.Errors collection of the bound element. Lorsque Validation.Errors n’est pas vide, la Validation.HasError propriété jointe de l’élément a la valeur true .When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. En outre, si la NotifyOnValidationError propriété du Binding a la valeur true , le moteur de liaison déclenche l' Validation.Error événement attaché sur l’élément.Also, if the NotifyOnValidationError property of the Binding is set to true, then the binding engine raises the Validation.Error attached event on the element.

  3. Si toutes les règles sont satisfaites, le moteur de liaison appelle alors le convertisseur, le cas échéant.If all of the rules pass, the binding engine then calls the converter, if one exists.

  4. Si le convertisseur réussit, le moteur de liaison appelle la méthode setter de la propriété source.If the converter passes, the binding engine calls the setter of the source property.

  5. Si une liaison est associée à la liaison ExceptionValidationRule et qu’une exception est levée à l’étape 4, le moteur de liaison vérifie s’il existe un UpdateSourceExceptionFilter .If the binding has an ExceptionValidationRule associated with it and an exception is thrown during step 4, the binding engine checks to see if there is a UpdateSourceExceptionFilter. Vous avez la possibilité d’utiliser le UpdateSourceExceptionFilter rappel pour fournir un gestionnaire personnalisé pour la gestion des exceptions.You have the option to use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. Si un UpdateSourceExceptionFilter n’est pas spécifié sur Binding , le moteur de liaison crée un ValidationError avec l’exception et l’ajoute à la Validation.Errors collection de l’élément lié.If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

Notez également qu’un transfert de valeur valide dans l’une ou l’autre direction (cible vers source ou source vers cible) efface le Validation . Errors propriété jointe.Also note that a valid value transfer in either direction (target-to-source or source-to-target) clears the Validation.Errorsattached property.

Pour plus d’informations, consultez « Validation des données » dans vue d’ensemblede la liaison de données.For more information, see "Data Validation" in Data Binding Overview.

Informations sur les événements acheminésRouted Event Information

Champ d’identificateurIdentifier field ErrorEvent
Stratégie de routageRouting strategy PropagationBubbling
DéléguéDelegate EventHandler<TEventArgs>, restreinte par ValidationErrorEventArgsEventHandler<TEventArgs>, constrained by ValidationErrorEventArgs

S’applique à