【发布时间】:2011-12-04 10:03:10
【问题描述】:
我是 MVC3 的新手,对在服务器端进行的模型自动验证有疑问。
我的场景: 具有部分视图(我们称之为部分 A)和关联模型(例如客户名称)的索引页面。在这个局部视图中是另一个局部视图(我们称之为 Partial B),它允许客户输入他们拥有的任何以前的名字(即婚前姓名详细信息),它有自己的模型。
现在 Part B 是可选的,因为用户不必输入详细信息,除非他们愿意,而 Part A 的详细信息必须输入。
按下提交按钮时,包含 Partial 视图的表单会触发控制器和相关操作/方法 - MVC3 会自动验证 Partial A 模型。如果我将两个模型都作为参数传递给动作,那么两者都会被验证。
但是,如果客户添加了详细信息,我想每次都验证 Partial A 模型,并且只验证 Partial B 模型。
所以,我想知道在这种情况下编写代码的最佳方法是什么。
我可以看到表单标记属性可以通过 jquery/javascript 更改,方法是检查是否在 Partial B 上输入了详细信息,然后将操作/方法调用更改为将两个模型作为输入的调用。这是最好的方法,还是有其他更好的方法?
谢谢
【问题讨论】:
标签: asp.net-mvc-3 validation model