Partager via


ValidationError Classe

Définition

Représente une erreur de validation créée par le moteur de liaison quand un ValidationRule signale une erreur de validation, ou explicitement via la méthode MarkInvalid(BindingExpressionBase, ValidationError).

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
Héritage
ValidationError

Exemples

L’exemple suivant montre un déclencheur de style qui crée un ToolTip qui signale un message d’erreur de validation. La Validation.Errors propriété jointe retourne une collection d’objets ValidationError sur l’élément lié.

<Style x:Key="textStyleTextBox" TargetType="TextBox">
  <Setter Property="Foreground" Value="#333333" />
  <Setter Property="MaxLength" Value="40" />
  <Setter Property="Width" Value="392" />
  <Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
      <Setter Property="ToolTip"
        Value="{Binding RelativeSource={RelativeSource Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
  </Style.Triggers>
</Style>

Remarques

Le modèle de liaison de données WPF vous permet d’associer des règles de validation à votre Binding objet. La validation se produit lors du transfert de valeur cible à source avant l’appel du convertisseur. La section suivante décrit le processus de validation.

  1. Lorsqu’une valeur est transférée de la propriété cible vers la propriété source, le moteur de liaison de données supprime tout ce ValidationError qui aurait pu être ajouté à la Validation.Errors propriété jointe de l’élément lié. Il vérifie ensuite si des règles de validation personnalisées sont définies pour ce , auquel cas il appelle la méthode sur chacune ValidationRule d’elles jusqu’à ce que l’une Validate d’elles échoue ou jusqu’à ce que Bindingtoutes les règles de validation réussissent.

  2. Une fois qu’une règle personnalisée n’est pas passée, le moteur de liaison crée un ValidationError objet et l’ajoute à la Validation.Errors collection de l’élément lié. Lorsque 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 propriété NotifyOnValidationError du Binding est définie sur true, le moteur de liaison déclenche l’événement Validation.Error attaché sur l’élément.

  3. Si toutes les règles sont passées, le moteur de liaison appelle alors le convertisseur, le cas échéant.

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

  5. Si la liaison est associée à un ExceptionValidationRule et qu’une exception est levée à l’étape 3 ou 4, le moteur de liaison vérifie s’il existe un UpdateSourceExceptionFilter. Vous pouvez utiliser le rappel UpdateSourceExceptionFilter pour fournir un gestionnaire personnalisé pour la gestion des exceptions. Si un UpdateSourceExceptionFilter n’est pas spécifié sur , Bindingle moteur de liaison crée un ValidationError avec l’exception et l’ajoute à la Validation.Errors collection de l’élément lié.

Un transfert de valeur valide dans les deux sens (cible vers source ou source vers cible) efface la Validation.Errors propriété jointe.

Constructeurs

ValidationError(ValidationRule, Object, Object, Exception)

Initialise une nouvelle instance de la classe ValidationError avec les paramètres spécifiés.

ValidationError(ValidationRule, Object)

Initialise une nouvelle instance de la classe ValidationError avec les paramètres spécifiés.

Propriétés

BindingInError

Obtient l'objet BindingExpression ou MultiBindingExpression de ValidationError. L'objet est explicitement marqué comme non valide ou est associé à une règle de validation ayant échoué.

ErrorContent

Obtient ou définit un objet qui fournit un contexte supplémentaire pour ce ValidationError, par exemple une chaîne décrivant l’erreur.

Exception

Obtient ou définit l'objet Exception qui était la cause de ValidationError, si l'erreur est le résultat d'une exception.

RuleInError

Obtient ou définit l'objet ValidationRule qui était la cause de ValidationError, si l'erreur est le résultat d'une règle de validation.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi