我有一個ASP.Net MVC站點,它連接到一個Web服務。MVC中的對象屬性驗證(使用Web服務)
該網站的視圖模型包含用於每組所需服務數據AccountDetails(包含AccountId,AccountType等),ContactDetails(包含名稱,地址等)的對象等。
該服務具有一個'CreateUser()'方法,它接受這些對象作爲參數,然後它自己執行所有的驗證 - 傳回一個包含任何已發現錯誤數組的對象,包括名稱具體的財產/領域。
我想知道是否有辦法將返回的錯誤數據傳遞到DataAnnotations或其他東西。
我明確地不能在模型本身中編寫條件,因爲Web服務中的驗證條件隨時可以更改 - 而且我們希望這可以規定什麼失敗以及哪些成功。
==進一步信息贊成使它更清楚一點==
想象我是在本地(視圖模型內)創建ContactDetails類,我可以很簡單地做到這一點
public class ContactDetails
{
[IsRequired()]
[CustomAttributeofSomekind]
public string FirstName { get; set; }
public string LastName { get; set; }
}
然而,在這種情況下 - 如果我們想改變驗證標準,無論出於什麼原因,我們都不得不在Web服務和所有訪問該服務的客戶端網站中對其進行更改。
我們不想這樣做 - 相反,如果(在上述情況下)ContactDetails.LastName突然需要並且不得超過10個字符 - 這應該只需要在Web服務中更新。
我很困惑...你可以改寫這個嗎?特別是你的意思是*將返回的錯誤數據傳遞給DataAnnotations或其他*。如果可以顯示一些代碼也是很好的。 – Charlino 2010-09-16 20:50:47