1
我期望在提交之前启用“保存”表单数据。如何在调用MVC3控制器中的UpdateModel之前禁用验证
我希望用户能够保存表单进度,即使表单处于无效状态,然后再回来。
现在,我唯一的问题是,我想能够使用UpdateModel
方法来更新我的模型。但是,由于表单可能无效或部分完成,这会导致错误。
有没有办法注释下面的方法,以便在SAVE实例中忽略验证?
[HttpPost]
public ActionResult Save(Model values)
{
var model = new Model();
UpdateModel(model);
}
我要救不必写一个1-1映射元素被保存 - 这是我的后备选项,但不是很维护。
谢谢!最初我以为TryUpdateModel(模型)只是返回false而什么都没做。然而,它仍然会更新模型。那是我错过的部分。从本质上讲,我想抑制任何验证错误,现在我可以通过忽略TryUpdateModel的返回值来实现这一点。完善! – dazbradbury 2012-04-05 19:53:22
请注意,如果您启用了客户端验证,那么您将无法提交表单。但是,您可以在提交“保存”按钮之前禁用验证。 – 2012-04-06 00:12:03
@MystereMan - 这就是我已经实现的。我只需通过ajax进行表单提交,并根据响应提供一些视觉反馈。这确保忽略客户端验证,并且可以非常简单地保存表单。在实际使用任何数据之前进行验证,并且可以针对任何注射尝试进行测试。 – dazbradbury 2012-04-07 15:04:13