ValidationRule Класс

Определение

Предоставляет способ создания настраиваемого правила для проверки действительности ввода данных.Provides a way to create a custom rule in order to check the validity of user input.

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

Примеры

В следующем примере показано, как реализовать правило проверки.The following example shows how to implement a validation rule. Входное значение недопустимо, если оно содержит нечисловые символы или если оно находится за пределами нижней и верхней границ.The input value is invalid if it contains non-numeric characters or if it is outside the lower and upper bounds. Если возвращенное ValidationResult значение недопустимо, то ErrorContent свойству присваивается IsValid соответствующее сообщение об ошибке, а свойству falseприсваивается значение.If the value of the returned ValidationResult 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;
    }
}

Комментарии

При использовании WPFWPF модели привязки данных можно связать ValidationRules с объектом привязки.When you use the WPFWPF data binding model, you can associate ValidationRules with your binding object. Чтобы создать настраиваемые правила, сделайте подкласс этого класса и реализуйте Validate метод.To create custom rules, make a subclass of this class and implement the Validate method. При необходимости используйте встроенную ExceptionValidationRuleфункцию, которая перехватывает исключения, возникающие во время обновления источника, DataErrorValidationRuleили объект, который проверяет наличие ошибок, вызванных IDataErrorInfo реализацией исходного объекта.Optionally, use the built-in ExceptionValidationRule, which catches exceptions that are thrown during source updates, or the DataErrorValidationRule, which checks for errors raised by the IDataErrorInfo implementation of the source object.

Механизм привязки проверяет каждый ValidationRule объект, связанный с привязкой, каждый раз, когда он передает входное значение, которое является значением свойства цели привязки, в свойство источника привязки.The binding engine checks each ValidationRule that is associated with a binding every time it transfers an input value, which is the binding target property value, to the binding source property.

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

Дополнительные сведения о проверке предоставленных пользователем данных в диалоговом окне см. в разделе Общие сведенияо диалоговых окнах.For information about how to validate user-provided data in a dialog box, see Dialog Boxes Overview.

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

ValidationRule()

Инициализирует новый экземпляр класса ValidationRule.Initializes a new instance of the ValidationRule class.

ValidationRule(ValidationStep, Boolean)

Инициализирует новый экземпляр класса ValidationRule с указанным шагом проверки и значением, которое указывает, выполняется ли правило проверки при обновлении целевого объекта.Initializes a new instance of the ValidationRule class with the specified validation step and a value that indicates whether the validation rule runs when the target is updated.

Свойства

ValidatesOnTargetUpdated

Возвращает или задает значение, которое указывает, выполняется ли правило проверки, когда обновляется целевой объект Binding.Gets or sets a value that indicates whether the validation rule runs when the target of the Binding is updated.

ValidationStep

Возвращает или задает, когда выполняется правило проверки.Gets or sets when the validation rule runs.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

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

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

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
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.

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

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