jQuery.validate阻止我的表单被提交

时间:2011-06-27 04:48:23

标签: jquery-validate http-post

jQuery.validate阻止我的表单被提交。我希望它只是向用户显示错误但允许他们提交。

我正在使用ASP MVC附带的jquery.validate.unobtrusive库。

我使用jquery.tmpl动态创建表单,然后使用jquery.datalink将输入字段链接到页面上的json对象。所以我的文件就绪电话看起来像这样。

jQuery(function ($) {
  // this allows be to rebind validation after the dynamic form has been created
  $("form").removeData("validator");
  $("form").removeData("unobtrusiveValidation");
  $.validator.unobtrusive.parse($("form"));

  // submit the answers
  $("form").submit(function(e) {
    $("input[name=jsonResponse]").val(JSON.stringify(answerArray));
    return true;             
  });
}

我注意到有一个选项

$("form").validate({ onsubmit: false });

但这似乎会扼杀所有验证。

所以只是回顾我的表单呈现时我想立即显示所有错误,但我不想阻止提交工作。

1 个答案:

答案 0 :(得分:2)

经过一些研究(阅读源代码),我发现我需要做两件事

将班级取消添加到我的提交按钮

<input id="submitButton" type="submit" class="cancel" value="OK" />

这会停止在提交时运行验证。

要在加载时验证表单,我只需将其添加到我的文档就绪函数

$("form").valid();

希望这有助于其他人