ValidationRule.Validate Metoda

Definicja

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

Przeciążenia

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.

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.

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

Parametry

value
Object

Wartość z elementu docelowego powiązania do sprawdzenia.The value from the binding target to check.

cultureInfo
CultureInfo

Kultura, która ma być używana w tej regule.The culture to use in this rule.

Zwraca

Przykłady

Poniższy przykład pokazuje, jak zaimplementować regułę walidacji.The following example shows how to implement a validation rule. W poniższym przykładzie wartość wejściowa jest nieprawidłowa, jeśli zawiera znaki inne niż numeryczne lub jest poza dolną i górną granicą.In the following example, the input value is invalid if it contains non-numeric characters or if it is outside the lower and upper bounds. Jeśli wartość wejściowa jest nieprawidłowa, właściwość ErrorContent jest ustawiona na odpowiedni komunikat o błędzie, a właściwość IsValid jest ustawiona na false.If the input value 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

Należy zaimplementować tę metodę podczas tworzenia podklasy klasy ValidationRule w celu utworzenia niestandardowej reguły walidacji.You must implement this method when you create a subclass of the ValidationRule class in order to create a custom validation rule.

Za każdym razem, gdy aparat powiązań danych przesyła wartość z właściwości target powiązania (z danych wejściowych użytkownika) do właściwości source powiązania (dane bazowe), sprawdza, czy dla tego powiązania zostały zdefiniowane żadne ValidationRules.Each time the data binding engine transfers a value from the binding target property (from user input) to the binding source property (the underlying data), it checks whether any ValidationRules are defined for that binding. Jeśli ValidationRules są zdefiniowane dla powiązania, aparat wywołuje metodę Validate dla każdego ValidationRule, dopóki jedna z nich nie znajdzie błędu lub dopóki wszystkie z nich nie zostaną przekazane.If ValidationRules are defined for the binding, the engine calls the Validate method on each ValidationRule until one of them finds an error or until all of them pass.

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.

Zobacz też

Validate(Object, CultureInfo, BindingExpressionBase)

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

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

Parametry

value
Object

Wartość z elementu docelowego powiązania do sprawdzenia.The value from the binding target to check.

cultureInfo
CultureInfo

Kultura, która ma być używana w tej regule.The culture to use in this rule.

owner
BindingExpressionBase

Wyrażenie powiązania używające reguły walidacji.The binding expression that uses the validation rule.

Zwraca

Validate(Object, CultureInfo, BindingGroup)

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

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

Parametry

value
Object

Wartość z elementu docelowego powiązania do sprawdzenia.The value from the binding target to check.

cultureInfo
CultureInfo

Kultura, która ma być używana w tej regule.The culture to use in this rule.

owner
BindingGroup

Grupa powiązań, która używa reguły walidacji.The binding group that uses the validation rule.

Zwraca

Dotyczy