Поделиться через


ValidationRule.Validate Метод

Определение

Выполняет проверки значения.

Перегрузки

Имя Описание
Validate(Object, CultureInfo)

При переопределении в производном классе выполняет проверки значения.

Validate(Object, CultureInfo, BindingExpressionBase)

Выполняет проверки значения.

Validate(Object, CultureInfo, BindingGroup)

Выполняет проверки значения.

Validate(Object, CultureInfo)

При переопределении в производном классе выполняет проверки значения.

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
Public MustOverride Function Validate (value As Object, cultureInfo As CultureInfo) As ValidationResult

Параметры

value
Object

Значение целевого объекта привязки для проверки.

cultureInfo
CultureInfo

Язык и региональные параметры, используемые в этом правиле.

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

Объект ValidationResult.

Примеры

В следующем примере показано, как реализовать правило проверки. В следующем примере входное значение недопустимо, если оно содержит нечисловые символы или находится за пределами нижней и верхней границ. Если входное значение недопустимо, ErrorContent для свойства задано соответствующее сообщение об ошибке, а IsValid для свойства задано значение false.

Полный пример см. в разделе "Практическое руководство. Реализация проверки привязки".

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 класса, чтобы создать пользовательское правило проверки.

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

Подробные сведения о проверке данных см. в разделе "Обзор привязки данных".

См. также раздел

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

Validate(Object, CultureInfo, BindingExpressionBase)

Выполняет проверки значения.

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
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingExpressionBase) As ValidationResult

Параметры

value
Object

Значение целевого объекта привязки для проверки.

cultureInfo
CultureInfo

Язык и региональные параметры, используемые в этом правиле.

owner
BindingExpressionBase

Выражение привязки, использующее правило проверки.

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

Объект ValidationResult.

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

Validate(Object, CultureInfo, BindingGroup)

Выполняет проверки значения.

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
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingGroup) As ValidationResult

Параметры

value
Object

Значение целевого объекта привязки для проверки.

cultureInfo
CultureInfo

Язык и региональные параметры, используемые в этом правиле.

owner
BindingGroup

Группа привязки, использующая правило проверки.

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

Объект ValidationResult.

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