ValidationRule.Validate Methode

Definition

Führt Validierungsprüfungen für einen Wert aus.

Überlädt

Validate(Object, CultureInfo)

Führt beim Überschreiben in einer abgeleiteten Klasse Validierungsüberprüfungen für einen Wert aus.

Validate(Object, CultureInfo, BindingExpressionBase)

Führt Validierungsprüfungen für einen Wert aus.

Validate(Object, CultureInfo, BindingGroup)

Führt Validierungsprüfungen für einen Wert aus.

Validate(Object, CultureInfo)

Führt beim Überschreiben in einer abgeleiteten Klasse Validierungsüberprüfungen für einen Wert aus.

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

Parameter

value
Object

Der Wert aus dem zu überprüfenden Bindungsziel.

cultureInfo
CultureInfo

Die in dieser Regel zu verwendende Kultur.

Gibt zurück

Ein ValidationResult-Objekt.

Beispiele

Im folgenden Beispiel wird gezeigt, wie eine Validierungsregel implementiert wird. Im folgenden Beispiel ist der Eingabewert ungültig, wenn er nicht numerische Zeichen enthält oder sich außerhalb der Unter- und Obergrenze befindet. Wenn der Eingabewert ungültig ist, wird die ErrorContent -Eigenschaft auf die entsprechende Fehlermeldung und die IsValid -Eigenschaft auf falsefestgelegt.

Das vollständige Beispiel finden Sie unter Vorgehensweise: Implementieren der Bindungsüberprüfung.

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;
    }
}

Hinweise

Sie müssen diese Methode implementieren, wenn Sie eine Unterklasse der ValidationRule -Klasse erstellen, um eine benutzerdefinierte Validierungsregel zu erstellen.

Jedes Mal, wenn die Datenbindungs-Engine einen Wert von der Bindungszieleigenschaft (von der Benutzereingabe) an die Bindungsquelleigenschaft (die zugrunde liegenden Daten) überträgt, überprüft sie, ob für diese Bindung definiert ValidationRules sind. Wenn ValidationRules für die Bindung definiert sind, ruft die Engine die Validate -Methode für jede ValidationRule auf, bis einer von ihnen einen Fehler findet oder bis alle erfolgreich sind.

Ausführliche Informationen zur Datenüberprüfung finden Sie unter Übersicht über die Datenbindung.

Weitere Informationen

Gilt für:

Validate(Object, CultureInfo, BindingExpressionBase)

Führt Validierungsprüfungen für einen Wert aus.

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

Parameter

value
Object

Der Wert aus dem zu überprüfenden Bindungsziel.

cultureInfo
CultureInfo

Die in dieser Regel zu verwendende Kultur.

owner
BindingExpressionBase

Der Bindungsausdruck, der die Validierungsregel benutzt.

Gibt zurück

Ein ValidationResult-Objekt.

Gilt für:

Validate(Object, CultureInfo, BindingGroup)

Führt Validierungsprüfungen für einen Wert aus.

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

Parameter

value
Object

Der Wert aus dem zu überprüfenden Bindungsziel.

cultureInfo
CultureInfo

Die in dieser Regel zu verwendende Kultur.

owner
BindingGroup

Die Bindungsgruppe, die die Validierungsregel benutzt.

Gibt zurück

Ein ValidationResult-Objekt.

Gilt für: