MVC3和JQuery忽略验证

时间:2011-06-27 16:53:51

标签: jquery asp.net-mvc-3

以下JQuery行允许我通过验证,但是服务器端会引发错误。

$(document).ready(function () {

    $("#save").click(function () {
        $("#WizForm").validate({
            onsubmit: false
        });
    });

如何设置ModelState成功并允许我继续将数据保存为草稿条目? 现在我收到以下错误。我应该删除规则吗? 一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。

1 个答案:

答案 0 :(得分:1)

正如Andrew Whitaker建议的那样,您应该有两个不同的控制器动作,一个用于草稿(表单未通过验证),另一个用于通过验证的最终表单。此外,您应该为草稿对象创建一个未经验证的模型。

您的客户端脚本应类似于以下内容:

$(document).ready(function() {
  $("#save").click(function () {
    if ($("wizForm").validate().form()) {
      // call controller action SaveFinal
    }
    else {
      // call controller action SaveDraft
    }
  }
}

然后,创建一个没有验证的模型,并在SaveDraft控制器操作中使用此模型。

public ActionResult SaveDraft(UnvalidatedModel draft)
{
   // step through each field, and save only valid fields
}

counsellorben