ValidationRule.Validate Méthode

Définition

Exécute des contrôles de validation sur une valeur.

Surcharges

Validate(Object, CultureInfo)

En cas de remplacement dans une classe dérivée, effectue des contrôles de validation sur une valeur.

Validate(Object, CultureInfo, BindingExpressionBase)

Exécute des contrôles de validation sur une valeur.

Validate(Object, CultureInfo, BindingGroup)

Exécute des contrôles de validation sur une valeur.

Validate(Object, CultureInfo)

En cas de remplacement dans une classe dérivée, effectue des contrôles de validation sur une valeur.

public:
 abstract System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo);
public abstract System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo);
abstract member Validate : obj * System.Globalization.CultureInfo -> System.Windows.Controls.ValidationResult
Public MustOverride Function Validate (value As Object, cultureInfo As CultureInfo) As ValidationResult

Paramètres

value
Object

La valeur de la cible de liaison à vérifier.

cultureInfo
CultureInfo

Culture à utiliser dans cette règle.

Retours

ValidationResult

Objet ValidationResult.

Exemples

L’exemple suivant montre comment implémenter une règle de validation. Dans l’exemple suivant, la valeur d’entrée n’est pas valide si elle contient des caractères non numériques ou si elle se trouve en dehors des limites inférieure et supérieure. Si la valeur d’entrée n’est pas valide, la ErrorContent propriété est définie sur le message d’erreur approprié et la IsValid propriété a la valeur false .

Pour obtenir un exemple complet, consultez Comment : implémenter la validation de liaison.

public class AgeRangeRule : ValidationRule
{
    public int Min { get; set; }
    public int Max { get; set; }
    
    public AgeRangeRule()
    {
    }

    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
    {
        int age = 0;

        try
        {
            if (((string)value).Length > 0)
                age = Int32.Parse((String)value);
        }
        catch (Exception e)
        {
            return new ValidationResult(false, $"Illegal characters or {e.Message}");
        }

        if ((age < Min) || (age > Max))
        {
            return new ValidationResult(false,
              $"Please enter an age in the range: {Min}-{Max}.");
        }
        return ValidationResult.ValidResult;
    }
}

Remarques

Vous devez implémenter cette méthode lorsque vous créez une sous-classe de la ValidationRule classe pour créer une règle de validation personnalisée.

Chaque fois que le moteur de liaison de données transfère une valeur de la propriété de la cible de liaison (de l’entrée de l’utilisateur) vers la propriété de la source de liaison (données sous-jacentes), il vérifie si des ValidationRules sont définis pour cette liaison. Si les ValidationRules sont définis pour la liaison, le moteur appelle la Validate méthode sur chacune d' ValidationRule elles jusqu’à ce que l’une d’elles trouve une erreur ou jusqu’à ce qu’elles soient toutes passées.

Pour plus d’informations sur la validation des données, consultez vue d’ensemblede la liaison de données.

Voir aussi

S’applique à

Validate(Object, CultureInfo, BindingExpressionBase)

Exécute des contrôles de validation sur une valeur.

public:
 virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingExpressionBase ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingExpressionBase owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingExpressionBase) As ValidationResult

Paramètres

value
Object

La valeur de la cible de liaison à vérifier.

cultureInfo
CultureInfo

Culture à utiliser dans cette règle.

owner
BindingExpressionBase

Expression de liaison qui utilise la règle de validation.

Retours

ValidationResult

Objet ValidationResult.

S’applique à

Validate(Object, CultureInfo, BindingGroup)

Exécute des contrôles de validation sur une valeur.

public:
 virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingGroup ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingGroup owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingGroup) As ValidationResult

Paramètres

value
Object

La valeur de la cible de liaison à vérifier.

cultureInfo
CultureInfo

Culture à utiliser dans cette règle.

owner
BindingGroup

Groupe de liaison qui utilise la règle de validation.

Retours

ValidationResult

Objet ValidationResult.

S’applique à