ValidationRule.Validate Метод

Определение

Выполняет проверки по значению.Performs validation checks on a value.

Перегрузки

Validate(Object, CultureInfo)

При переопределении в производном классе выполняет проверку значения.When overridden in a derived class, performs validation checks on a value.

Validate(Object, CultureInfo, BindingExpressionBase)

Выполняет проверки по значению.Performs validation checks on a value.

Validate(Object, CultureInfo, BindingGroup)

Выполняет проверки по значению.Performs validation checks on a value.

Validate(Object, CultureInfo)

При переопределении в производном классе выполняет проверку значения.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

Параметры

value
Object

Проверяемое значение целевого объекта привязки.The value from the binding target to check.

cultureInfo
CultureInfo

Язык и региональные параметры, используемые в правиле.The culture to use in this rule.

Возвращаемое значение

Примеры

В следующем примере показано, как реализовать правило проверки.The following example shows how to implement a validation rule. В следующем примере входное значение недопустимо, если оно содержит нечисловые символы или если оно находится за пределами нижней и верхней границ.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. Если входное значение недопустимо, то свойству ErrorContent присваивается соответствующее сообщение об ошибке, а свойству IsValid — значение 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.

Полный пример см. в разделе практические руководства. Реализация проверки привязки.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;
    }
}

Комментарии

Этот метод необходимо реализовать при создании подкласса ValidationRule класса, чтобы создать настраиваемое правило проверки.You must implement this method when you create a subclass of the ValidationRule class in order to create a custom validation rule.

Каждый раз, когда модуль привязки данных передает значение из свойства цели привязки (из пользовательского ввода) в свойство источника привязки (базовые данные), он проверяет, определены ли для этой привязки какие-либо 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. Если для привязки определены ValidationRules, обработчик вызывает метод Validate для каждого ValidationRule до тех пор, пока один из них не обнаружит ошибку или пока не пройдет их.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.

Подробные сведения о проверке данных см. в разделе Общие сведения о привязке данных.For detailed information about data validation, see Data Binding Overview.

Дополнительно

Validate(Object, CultureInfo, BindingExpressionBase)

Выполняет проверки по значению.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

Параметры

value
Object

Проверяемое значение целевого объекта привязки.The value from the binding target to check.

cultureInfo
CultureInfo

Язык и региональные параметры, используемые в правиле.The culture to use in this rule.

owner
BindingExpressionBase

Выражение привязки, использующее правило проверки.The binding expression that uses the validation rule.

Возвращаемое значение

Validate(Object, CultureInfo, BindingGroup)

Выполняет проверки по значению.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

Параметры

value
Object

Проверяемое значение целевого объекта привязки.The value from the binding target to check.

cultureInfo
CultureInfo

Язык и региональные параметры, используемые в правиле.The culture to use in this rule.

owner
BindingGroup

Группа привязки, использующая правило проверки.The binding group that uses the validation rule.

Возвращаемое значение

Применяется к