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 });
但这似乎会扼杀所有验证。
所以只是回顾我的表单呈现时我想立即显示所有错误,但我不想阻止提交工作。
答案 0 :(得分:2)
经过一些研究(阅读源代码),我发现我需要做两件事
将班级取消添加到我的提交按钮
<input id="submitButton" type="submit" class="cancel" value="OK" />
这会停止在提交时运行验证。
要在加载时验证表单,我只需将其添加到我的文档就绪函数
$("form").valid();
希望这有助于其他人