Udostępnij za pośrednictwem


ValidationRule Klasa

Definicja

Umożliwia utworzenie reguły niestandardowej w celu sprawdzenia poprawności danych wejściowych użytkownika.

public ref class ValidationRule abstract
public abstract class ValidationRule
type ValidationRule = class
Public MustInherit Class ValidationRule
Dziedziczenie
ValidationRule
Pochodne

Przykłady

W poniższym przykładzie pokazano, jak zaimplementować regułę walidacji. Wartość wejściowa jest nieprawidłowa, jeśli zawiera znaki inne niż numeryczne lub znajduje się poza dolną i górną granicą. Jeśli zwrócona wartość ValidationResult 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

W przypadku korzystania z modelu powiązania danych WPF można skojarzyć ValidationRules z obiektem powiązania. Aby utworzyć reguły niestandardowe, utwórz podklasę tej klasy i zaimplementuj metodę Validate . Opcjonalnie należy użyć wbudowanego ExceptionValidationRuleelementu , który przechwytuje wyjątki zgłaszane podczas aktualizacji źródłowych lub DataErrorValidationRule, który sprawdza błędy zgłaszane przez implementację IDataErrorInfo obiektu źródłowego.

Aparat powiązań sprawdza każdy ValidationRule skojarzony z powiązaniem za każdym razem, gdy przesyła wartość wejściową, czyli wartość właściwości docelowej powiązania, do właściwości źródłowej powiązania.

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

Aby uzyskać informacje na temat weryfikowania danych dostarczonych przez użytkownika w oknie dialogowym, zobacz Omówienie okien dialogowych.

Konstruktory

Nazwa Opis
ValidationRule()

Inicjuje nowe wystąpienie klasy ValidationRule.

ValidationRule(ValidationStep, Boolean)

Inicjuje nowe wystąpienie ValidationRule klasy z określonym krokiem weryfikacji i wartością wskazującą, czy reguła walidacji jest uruchamiana po zaktualizowaniu obiektu docelowego.

Właściwości

Nazwa Opis
ValidatesOnTargetUpdated

Pobiera lub ustawia wartość wskazującą, czy reguła sprawdzania poprawności jest uruchamiana po zaktualizowaniu Binding obiektu docelowego.

ValidationStep

Pobiera lub ustawia, gdy zostanie uruchomiona reguła sprawdzania poprawności.

Metody

Nazwa Opis
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
Validate(Object, CultureInfo, BindingExpressionBase)

Przeprowadza sprawdzanie poprawności wartości.

Validate(Object, CultureInfo, BindingGroup)

Przeprowadza sprawdzanie poprawności wartości.

Validate(Object, CultureInfo)

Po przesłonięciu w klasie pochodnej sprawdza poprawność wartości.

Dotyczy

Zobacz też