通过


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)

在派生类中重写时,对值执行验证检查。

适用于

另请参阅