Partager via


Validation.Error Événement attaché

Définition

Se produit lorsque l’élément lié s’exécute dans une erreur de validation, mais uniquement pour les liaisons avec la NotifyOnValidationError valeur définie sur true.

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

Remarques

Le modèle de liaison de données WPF vous permet d’associer ValidationRules votre Binding objet. La validation se produit pendant le transfert de valeur source de la cible à liaison avant l’appel du convertisseur. Les éléments suivants décrivent le processus de validation :

  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 les ValidationError éléments pouvant avoir été ajoutés à la Validation.Errors propriété jointe de l’élément lié. Il vérifie ensuite s’il existe des éléments personnalisés ValidationRuledéfinis pour cela Binding, auquel cas il appelle la Validate méthode sur chacun des ValidationRules jusqu’à ce qu’un d’entre eux rencontre une erreur ou jusqu’à ce que tous les passent.

  2. Une fois qu’il existe une règle personnalisée qui ne passe pas, le moteur de liaison crée un ValidationError objet et l’ajoute à la Validation.Errors collection de l’élément lié. Lorsqu’il Validation.Errors n’est pas vide, la Validation.HasError propriété jointe de l’élément est définie sur true. En outre, si la NotifyOnValidationError propriété du fichier Binding est définie truesur , le moteur de liaison déclenche l’événement Validation.Error attaché sur l’élément.

  3. Si toutes les règles passent, le moteur de liaison appelle ensuite le convertisseur, s’il en existe un.

  4. Si le convertisseur réussit, le moteur de liaison appelle le setter de la propriété source.

  5. Si la liaison est ExceptionValidationRule associée et qu’une exception est levée à l’étape 4, le moteur de liaison vérifie s’il existe un UpdateSourceExceptionFilter. Vous avez la possibilité d’utiliser le UpdateSourceExceptionFilter rappel pour fournir un gestionnaire personnalisé pour gérer les exceptions. Si un UpdateSourceExceptionFilter élément n’est pas spécifié sur le Binding, le moteur de liaison crée une ValidationError exception et l’ajoute à la Validation.Errors collection de l’élément lié.

Notez également qu’un transfert de valeur valide dans les deux sens (cible à source ou source à cible) efface la Validationpropriété jointe .Errors

Pour plus d’informations, consultez « Validation des données » dans Vue d’ensemble de la liaison de données.

Informations sur les événements routés

Élément Valeur
Champ d’identificateur ErrorEvent
Stratégie de routage Bouillonnant
Délégué EventHandler<TEventArgs>, limité par ValidationErrorEventArgs

S’applique à