ValidationRule Klasa

Definicja

Zapewnia sposób tworzenia reguły niestandardowej w celu sprawdzenia poprawności danych wejściowych użytkownika.Provides a way to create a custom rule in order to check the validity of user input.

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

Przykłady

Poniższy przykład pokazuje, jak zaimplementować regułę walidacji.The following example shows how to implement a validation rule. Wartość wejściowa jest nieprawidłowa, jeśli zawiera znaki niebędące liczbą lub jeśli znajduje się poza dolną i górną granicą.The input value is invalid if it contains non-numeric characters or if it is outside the lower and upper bounds. Jeśli wartość zwracana ValidationResult jest nieprawidłowa, ErrorContent Właściwość jest ustawiona na odpowiedni komunikat o błędzie, a IsValid Właściwość jest ustawiona na false .If the value of the returned ValidationResult is invalid, the ErrorContent property is set to the appropriate error message and the IsValid property is set to false.

Pełny przykład można znaleźć w temacie How to: Implementuj walidację powiązania.For the complete example, see How to: Implement Binding Validation.

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

Korzystając z modelu powiązania danych WPF, można powiązać ValidationRules z obiektem powiązania.When you use the WPF data binding model, you can associate ValidationRules with your binding object. Aby utworzyć reguły niestandardowe, należy utworzyć podklasę tej klasy i zaimplementować Validate metodę.To create custom rules, make a subclass of this class and implement the Validate method. Opcjonalnie użyj wbudowanego ExceptionValidationRule , który przechwytuje wyjątki, które są zgłaszane podczas aktualizacji źródła, lub DataErrorValidationRule , które sprawdza błędy wywoływane przez IDataErrorInfo implementację obiektu źródłowego.Optionally, use the built-in ExceptionValidationRule, which catches exceptions that are thrown during source updates, or the DataErrorValidationRule, which checks for errors raised by the IDataErrorInfo implementation of the source object.

Aparat powiązań sprawdza każdy ValidationRule , który jest skojarzony z powiązaniem za każdym razem, gdy przesyła wartość wejściową, czyli wartość właściwości target powiązania do właściwości source powiązania.The binding engine checks each ValidationRule that is associated with a binding every time it transfers an input value, which is the binding target property value, to the binding source property.

Aby uzyskać szczegółowe informacje na temat sprawdzania poprawności danych, zobacz temat powiązanie danych — omówienie.For detailed information about data validation, see Data Binding Overview.

Aby uzyskać informacje na temat sprawdzania poprawności danych udostępnionych przez użytkownika w oknie dialogowym, zobacz okna dialogowe przegląd.For information about how to validate user-provided data in a dialog box, see Dialog Boxes Overview.

Konstruktory

ValidationRule()

Inicjuje nowe wystąpienie klasy ValidationRule.Initializes a new instance of the ValidationRule class.

ValidationRule(ValidationStep, Boolean)

Inicjuje nowe wystąpienie ValidationRule klasy z określonym krokiem walidacji i wartością wskazującą, czy reguła walidacji jest uruchamiana podczas aktualizowania elementu docelowego.Initializes a new instance of the ValidationRule class with the specified validation step and a value that indicates whether the validation rule runs when the target is updated.

Właściwości

ValidatesOnTargetUpdated

Pobiera lub ustawia wartość wskazującą, czy reguła walidacji jest uruchamiana, gdy element docelowy Binding został zaktualizowany.Gets or sets a value that indicates whether the validation rule runs when the target of the Binding is updated.

ValidationStep

Pobiera lub ustawia wartość określającą, kiedy zostanie uruchomiona reguła walidacji.Gets or sets when the validation rule runs.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
Validate(Object, CultureInfo)

Gdy jest zastępowany w klasie pochodnej, sprawdza sprawdzanie poprawności wartości.When overridden in a derived class, performs validation checks on a value.

Validate(Object, CultureInfo, BindingExpressionBase)

Wykonuje sprawdzanie poprawności dla wartości.Performs validation checks on a value.

Validate(Object, CultureInfo, BindingGroup)

Wykonuje sprawdzanie poprawności dla wartości.Performs validation checks on a value.

Dotyczy

Zobacz też