Sdílet prostřednictvím


ValidationRule.Validate Metoda

Definice

Provádí kontroly ověření hodnoty.

Přetížení

Validate(Object, CultureInfo)

Při přepsání v odvozené třídě provádí ověřovací kontroly hodnoty.

Validate(Object, CultureInfo, BindingExpressionBase)

Provádí kontroly ověření hodnoty.

Validate(Object, CultureInfo, BindingGroup)

Provádí kontroly ověření hodnoty.

Validate(Object, CultureInfo)

Při přepsání v odvozené třídě provádí ověřovací kontroly hodnoty.

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

Parametry

value
Object

Hodnota z cíle vazby, která se má zkontrolovat.

cultureInfo
CultureInfo

Jazyková verze, která se má použít v tomto pravidlu.

Návraty

ValidationResult

Objekt ValidationResult .

Příklady

Následující příklad ukazuje, jak implementovat ověřovací pravidlo. V následujícím příkladu je vstupní hodnota neplatná, pokud obsahuje nečíselné znaky nebo je mimo dolní a horní mez. Pokud je vstupní hodnota neplatná, ErrorContent vlastnost je nastavena na odpovídající chybovou zprávu a IsValid vlastnost je nastavena na false.

Úplný příklad najdete v tématu Postupy: Implementace ověřování vazby.

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

Poznámky

Tuto metodu ValidationRule je nutné implementovat při vytváření podtřídy třídy, aby bylo možné vytvořit vlastní ověřovací pravidlo.

Pokaždé, když modul datových vazeb přenese hodnotu z cílové vlastnosti vazby (ze vstupu uživatele) do vlastnosti zdroje vazby (podkladová data), zkontroluje, zda jsou pro danou vazbu definovány nějaké ValidationRules . Pokud ValidationRules jsou definovány pro vazbu, modul volá metodu Validate pro každou ValidationRule z nich, dokud jeden z nich nenajde chybu nebo dokud všechny neprojdou.

Podrobné informace o ověření dat najdete v tématu Přehled datových vazeb.

Viz také

Platí pro

Validate(Object, CultureInfo, BindingExpressionBase)

Provádí kontroly ověření hodnoty.

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

Parametry

value
Object

Hodnota z cíle vazby, která se má zkontrolovat.

cultureInfo
CultureInfo

Jazyková verze, která se má použít v tomto pravidlu.

owner
BindingExpressionBase

Výraz vazby, který používá ověřovací pravidlo.

Návraty

ValidationResult

Objekt ValidationResult .

Platí pro

Validate(Object, CultureInfo, BindingGroup)

Provádí kontroly ověření hodnoty.

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

Parametry

value
Object

Hodnota z cíle vazby, která se má zkontrolovat.

cultureInfo
CultureInfo

Jazyková verze, která se má použít v tomto pravidlu.

owner
BindingGroup

Skupina vazeb, která používá ověřovací pravidlo.

Návraty

ValidationResult

Objekt ValidationResult .

Platí pro