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