将字段标记为必需

时间:2010-06-22 04:19:22

标签: asp.net-mvc model-validation

如果我有一个dbml文件,其中包含一个Customer类,其中包含一个名为CompanyName的属性;

public partial class Customer : INotifyPropertyChanging, INotifyPropertyChanged
private string _CompanyName;
public string CompanyName
{
  get

现在,鉴于上面的内容是在dbml中生成的,我显然应该避免像瘟疫那样编辑它。

所以我创建了另一个类似的那样;

public partial class Customer
{
    [Required]
    public string CompanyName{get;set;}
}

原因是因为我想将我的字段装饰成必需的。

但是这不起作用,因为我收到编译错误“...已经包含'CustomerID'的定义”。

有没有人知道这方面的方法,还是有更好的方法来根据需要标记字段或验证模型?

2 个答案:

答案 0 :(得分:1)

解决方案是使用MetadataType属性以及包含数据验证注释的附加类。

请参阅:http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

答案 1 :(得分:1)

或者您可以使用ViewModel模式。这也为您提供了灵活性,可以在您想要使用下拉菜单时将模型绑定到视图。我们将它与AutoMapper一起使用。