我想使用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生成代码。
如果我将元数据添加到这里的类中,这是否会工作 - 或者正在搞乱生成的代码是一个非常糟糕的主意?还是只有一个更简单,更清洁的方式来做到这一点?