3
我有一个INotifyDataErrorInfo
的实现,它的工作方式与我期望的一样,但我真正想知道的是如何执行条件验证。Silverlight可选字段验证
比方说,我有3个文本框,名称,电子邮件和地址。我将Name作为必填字段,但我只需要输入电子邮件地址或地址,因此验证规则需要检查这两个属性中的一个是否具有值。
希望这是有道理的,有人将能够指引我在正确的方向。
我有一个INotifyDataErrorInfo
的实现,它的工作方式与我期望的一样,但我真正想知道的是如何执行条件验证。Silverlight可选字段验证
比方说,我有3个文本框,名称,电子邮件和地址。我将Name作为必填字段,但我只需要输入电子邮件地址或地址,因此验证规则需要检查这两个属性中的一个是否具有值。
希望这是有道理的,有人将能够指引我在正确的方向。
属性添加:
[Required(AllowEmptyStrings = true)]
到财产申报的Email
和Address
在类的元数据定义。这将允许字符串是空的,但是当它是不正常的验证规则会踢因此,如果你添加类验证:
[CustomValidation(typeof(MyValidator), "ValidationMethod")]
这可以那么在这种方法检查这两个值中的一个已组。
public static ValidationResult ValidationMethod(MyClass person, ValidationContext context)
{
if (person!= null)
{
if (string.IsNullOrWhiteSpace(person.Email) &&
string.IsNullOrWhiteSpace(person.Address)
{
return new ValidationResult(....);
}
}
return ValidationResult.Success;
}
很好,谢谢@Chris – Joeb454