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


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, BindingExpressionBase)

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

Validate(Object, CultureInfo, BindingGroup)

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

Validate(Object, CultureInfo)

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

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

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