我有一个表单显示数据库中2个表的字段。 我想在MVC4中使用Data Annotation模型验证技术验证此表单。 我很困惑Data Annotation验证属性是应该应用于单个模型(表)还是应该创建由两个表中的字段组成的单独模型。
答案 0 :(得分:1)
您应该创建一个包含要在视图上显示的信息的新模型。这个特定的模型有一个名称:它叫做视图模型。您应始终将视图模型从控制器操作传递到视图,并且控制器操作应始终将视图模型作为参数。然后,您可以使用验证属性修饰此视图模型上的属性。
答案 1 :(得分:0)
你可以做两件事。您可以装饰域模型类并查看模型。这两件事都是正确的。问题是,对于您的视图,最好使用视图模型而不是模型类。无需在视图中公开整个域模型
只需添加using System.ComponentModel.DataAnnotations;
命名空间,并在每个属性上添加所需的属性。
例如:
public class BankAccount
{
[Required]
public Person Person { get; set; }
[Required]
public AccountType AccountType { get; set; }
[Required, StringLength(256)]
public string BankName { get; set; }
}