Udostępnij za pośrednictwem


ValidationRule.Validate Metoda

Definicja

Przeprowadza sprawdzanie poprawności wartości.

Przeciążenia

Validate(Object, CultureInfo)

Podczas zastępowania w klasie pochodnej przeprowadza sprawdzanie poprawności wartości.

Validate(Object, CultureInfo, BindingExpressionBase)

Przeprowadza sprawdzanie poprawności wartości.

Validate(Object, CultureInfo, BindingGroup)

Przeprowadza sprawdzanie poprawności wartości.

Validate(Object, CultureInfo)

Podczas zastępowania w klasie pochodnej przeprowadza sprawdzanie poprawności wartości.

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

Wartość z elementu docelowego powiązania do sprawdzenia.

cultureInfo
CultureInfo

Kultura, która ma być używana w tej regule.

Zwraca

ValidationResult

Obiekt ValidationResult.

Przykłady

W poniższym przykładzie pokazano, jak zaimplementować regułę walidacji. W poniższym przykładzie wartość wejściowa jest nieprawidłowa, jeśli zawiera znaki nieliczbowe lub znajduje się poza dolną i górną granicą. Jeśli wartość wejściowa jest nieprawidłowa, ErrorContent właściwość jest ustawiona na odpowiedni komunikat o błędzie, a IsValid właściwość jest ustawiona na falsewartość .

Pełny przykład można znaleźć w temacie How to: Implement Binding Validation (Instrukcje: implementowanie walidacji powiązań).

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

Uwagi

Tę metodę należy zaimplementować podczas tworzenia podklasy ValidationRule klasy, aby utworzyć niestandardową regułę weryfikacji.

Za każdym razem, gdy aparat powiązania danych przenosi wartość z właściwości docelowej powiązania (od danych wejściowych użytkownika) do właściwości źródłowej powiązania (danych bazowych), sprawdza, czy jakiekolwiek ValidationRules są zdefiniowane dla tego powiązania. Jeśli ValidationRules są zdefiniowane dla powiązania, aparat wywołuje metodę Validate dla każdego ValidationRule z nich, dopóki jeden z nich nie znajdzie błędu lub do momentu przekazania wszystkich z nich.

Aby uzyskać szczegółowe informacje na temat walidacji danych, zobacz Omówienie powiązania danych.

Zobacz też

Dotyczy

Validate(Object, CultureInfo, BindingExpressionBase)

Przeprowadza sprawdzanie poprawności wartości.

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

Wartość z elementu docelowego powiązania do sprawdzenia.

cultureInfo
CultureInfo

Kultura, która ma być używana w tej regule.

owner
BindingExpressionBase

Wyrażenie powiązania, które używa reguły walidacji.

Zwraca

ValidationResult

Obiekt ValidationResult.

Dotyczy

Validate(Object, CultureInfo, BindingGroup)

Przeprowadza sprawdzanie poprawności wartości.

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

Wartość z elementu docelowego powiązania do sprawdzenia.

cultureInfo
CultureInfo

Kultura, która ma być używana w tej regule.

owner
BindingGroup

Grupa powiązań, która używa reguły walidacji.

Zwraca

ValidationResult

Obiekt ValidationResult.

Dotyczy