2011-06-27 131 views
2

jQuery.validate停止提交表单。我希望它只是向用户显示错误,但允许他们提交。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 }); 

,但似乎杀死所有验证。

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

回答

2

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

添加类取消我的提交按钮

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

这停在提交运行有效性所以经过。

为了验证负载形式我只是把它添加到我的文档准备功能

$("form").valid(); 

希望这有助于别人