2017-09-14 26 views
0

我有,我想一些驗證規則適用於類的屬性。跨多個屬性的類級驗證規則

我想創建一個自定義的驗證是: - 檢查是否數量和/或地址存在 - 如果既不存在則返回「這是必須的」

目前我留言有:

[CustomValidation(typeof(Course), "NumberOrAddressValidator")] 
public class Information { 
    public string Number { get; set; } 
    public string Address { get; set; } 
} 
public static ValidationResult PhoneOrWebAddressRequiredValidator(string name, ValidationContext context) 
     { 
      if (Course.WebAddress == null) 
      { 
       return "Phone or web address is required"; 
      } 
      else if(Course.PhoneNumber == null) 
      { 
       return "Phone or web address is required"; 
      } 
      else 
      { 
       return ValidationResult.Success; 
      } 

     } 

我在想這個正確?我停留在理解什麼是「迴歸ValidationResult.Success」究竟一點。它是目前在返回一個字符串(我要回消息)拋出一個錯誤。

任何提示和幫助,將不勝感激!

回答

0

按我的理解,你應該去表現的註釋,而不是使自定義驗證。由PMC運行

PM>安裝,包裝ExpressiveAnnotations -Version 2.9.5

您的代碼看起來像安裝NuGet包。

public class Information 
{ 
    [RequiredIf("Address==null", ErrorMessage = "Number or Address is Required")] 
    public string Number { get; set; } 
    [RequiredIf("Number==null", ErrorMessage = "Number or Address is Required")] 
    public string Address { get; set; } 
} 
+0

感謝@shahid但在這個例子中,我想,因爲我練的是使用自定義的驗證。 – William