我想使用DataAnnotations進行MVC ViewModels的基本客戶端和服務器端驗證。我的視圖模型看起來是這樣的:如何使用DataAnnotations進行ASP.NET MVC模型驗證其中ViewModel包含來自外部Web服務的對象?
public class MyViewModel
{
public Client Client1 { get; set; }
public Client Client2 { get; set; }
public Product Product { get; set; }
}
所以我想檢查兩個客戶對象有一個名字和電話號碼,產品對象具有有效的數字價格等
我的問題是, Client
和Product
都是Visual Studio從Web服務生成的代理類型,所以我不能直接將註釋屬性添加到其所需的屬性中。
我讀過using the MetadataType
attribute指定的替代類中的元數據(具有重複屬性),但在這種情況下,我甚至不能將該屬性添加到Client
和Product
類。
或者我能嗎?在保存我的VS解決方案的Web References文件夾中,存在一個名爲Reference.cs
的Web服務名稱空間的文件夾,其中包含代理類型的VS生成代碼。
如果我將元數據添加到這裏的類中,這是否會工作 - 或者正在搞亂生成的代碼是一個非常糟糕的主意?還是隻有一個更簡單,更清潔的方式來做到這一點?