ValidationRule Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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. |