使用ASP.NET MVC 2和数据注释仅验证选定的字段

时间:2010-03-22 17:56:54

标签: asp.net-mvc data-annotations

我正在使用ASP.NET MVC 2的数据注释,如本文所示:

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

创建/更新实体时,一切正常,其中所有必需的属性值都在表单中指定并且有效。

但是,如果我只想更新某些字段怎么办?例如,假设我有一个包含20个字段的帐户实体,但我只想更新用户名和密码?

ModelState.IsValid对所有属性进行验证,无论它们是否在提交的表单中被引用。

如何让它仅验证表单中引用的字段?

2 个答案:

答案 0 :(得分:2)

建议的做法是使用特定于每个视图的模型。在您的情况下,这将是一个只有用户名和密码属性的模型。当用户提交表单时,您将属性映射到控制器中的实际域对象。为此,我使用Automapper来简化映射。这确实意味着您需要在每个视图模型中设置验证规则。

答案 1 :(得分:2)