ValidationRule.Validate 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对值执行验证检查。
重载
Validate(Object, CultureInfo) |
在派生类中重写时,对值执行验证检查。 |
Validate(Object, CultureInfo, BindingExpressionBase) |
对值执行验证检查。 |
Validate(Object, CultureInfo, BindingGroup) |
对值执行验证检查。 |
Validate(Object, CultureInfo)
在派生类中重写时,对值执行验证检查。
public:
abstract System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo);
public abstract System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo);
abstract member Validate : obj * System.Globalization.CultureInfo -> System.Windows.Controls.ValidationResult
Public MustOverride Function Validate (value As Object, cultureInfo As CultureInfo) As ValidationResult
参数
- value
- Object
要检查的来自绑定目标的值。
- cultureInfo
- CultureInfo
要在此规则中使用的区域性。
返回
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;
}
}
注解
在创建 类的 ValidationRule 子类时,必须实现此方法才能创建自定义验证规则。
每当数据绑定引擎将值从用户输入) 从绑定目标属性 (传输到基础数据) (绑定源属性时,都会检查是否为该绑定定义了任何 ValidationRules 值。 如果 ValidationRules 为绑定定义了 ,则引擎 Validate 对每个 ValidationRule 调用 方法,直到其中一个发现错误或所有错误都通过。
有关数据验证的详细信息,请参阅 数据绑定概述。
另请参阅
适用于
Validate(Object, CultureInfo, BindingExpressionBase)
对值执行验证检查。
public:
virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingExpressionBase ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingExpressionBase owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingExpressionBase) As ValidationResult
参数
- value
- Object
要检查的来自绑定目标的值。
- cultureInfo
- CultureInfo
要在此规则中使用的区域性。
- owner
- BindingExpressionBase
使用测试规则的绑定表达式。
返回
ValidationResult 对象。
适用于
Validate(Object, CultureInfo, BindingGroup)
对值执行验证检查。
public:
virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingGroup ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingGroup owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingGroup) As ValidationResult
参数
- value
- Object
要检查的来自绑定目标的值。
- cultureInfo
- CultureInfo
要在此规则中使用的区域性。
- owner
- BindingGroup
使用测试规则的绑定组。
返回
ValidationResult 对象。