【问题标题】:MVC3 and JQuery Ignore ValidationMVC3 和 JQuery 忽略验证
【发布时间】:2011-06-27 16:53:51
【问题描述】:

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

$(document).ready(function () {

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

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

【问题讨论】:

  • 也许您应该有不同的控制器操作来创建草稿和保存最终对象...

标签: jquery asp.net-mvc-3


【解决方案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
}

辅导员

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多