2012-08-01 34 views
0

假設我有一個實體的人(ID,部門,EmailAddress的,DOB,...),與EF創建的模型,然後創建一個元數據類該類把驗證規則在服務器端,如:如何在SL客戶端通過驗證異常?

[CustomValidation(typeof(MyValidator), "DOBValidator")] 
public Nullable<DateTime> DOB { get; set; } 

[RegularExpression("^([\\w-\\.]+)@((\\[[0–9]{1,3}\\.[0–9]{1,3}\\.[0–9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4" + "}|[0–9]{1,3})(\\]?)$", ErrorMessage = "Invalid email address")] 
[StringLength(128)] 
public string EmailAddress { get; set; } 

當驗證規則就位時,對於從客戶端發送的任何數據,在提交任何用於保存的數據時都將毫無例外地通過驗證。

但現在我想要規則的例外:從UI,當通過綁定實體Person從UI獲取數據時,基於數據,我想忽略驗證。例如,當Dept = A時,不要檢查EmailAddress驗證,對於dept = B,不要檢查DOB驗證。

如何解決此問題?

回答

0

我相信你需要類級驗證。看看這個question 當然,你的代碼需要編譯客戶端。 (如果使用WCF ria服務,有幾種方法可以達到此目的)

HTH