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)

对值执行验证检查。

适用于

另请参阅