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


ValidationRule Класс

Определение

Предоставляет способ создания настраиваемого правила для проверки допустимости вводимых пользователем данных.

public ref class ValidationRule abstract
public abstract class ValidationRule
type ValidationRule = class
Public MustInherit Class ValidationRule
Наследование
ValidationRule
Производный

Примеры

В следующем примере показано, как реализовать правило проверки. Входное значение недопустимо, если оно содержит нечисловые символы или находится за пределами нижней и верхней границ. Если возвращаемое 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;
    }
}

Комментарии

При использовании модели привязки данных WPF можно связать ValidationRules с объектом привязки. Чтобы создать настраиваемые правила, создайте подкласс этого класса и реализуйте Validate метод . При необходимости используйте встроенный ExceptionValidationRule, который перехватывает исключения, которые возникают при обновлении исходного кода, или DataErrorValidationRule, который проверяет наличие ошибок, вызванных IDataErrorInfo реализацией исходного объекта.

Подсистема привязки проверяет каждый ValidationRule объект, связанный с привязкой, каждый раз при передаче входного значения, являющегося значением целевого свойства привязки, в свойство источника привязки.

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

Сведения о проверке данных, предоставленных пользователем, в диалоговом окне см. в разделе Общие сведения о диалоговых окнах.

Конструкторы

ValidationRule()

Инициализирует новый экземпляр класса ValidationRule.

ValidationRule(ValidationStep, Boolean)

Инициализирует новый экземпляр класса ValidationRule с указанным шагом проверки и значением, которое указывает, выполняется ли правило проверки при обновлении целевого объекта.

Свойства

ValidatesOnTargetUpdated

Возвращает или задает значение, которое указывает, выполняется ли правило проверки, когда обновляется целевой объект Binding.

ValidationStep

Возвращает или задает, когда выполняется правило проверки.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
Validate(Object, CultureInfo)

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

Validate(Object, CultureInfo, BindingExpressionBase)

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

Validate(Object, CultureInfo, BindingGroup)

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

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

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