AJAX调用不起作用后手动jQuery验证调用?

时间:2010-10-01 15:33:25

标签: javascript jquery jquery-validate

我使用jQuery验证插件进行了混合的客户端/服务器端验证。验证发生在提交和某些变更字段上。表格通过AJAX提交。在更新数据库之前,应用程序还有另一个验证。 如果由于此验证失败而未将数据更改存储到数据库,我将通过JSON将结果返回到处理AJAX表单提交的JS方法。 理想情况下,我会通过类似的方式将后端传递给JS的自定义消息引发错误     $ .validator.showErrors(OBJ); 正如所讨论的那样here 不幸的是,validator.showErrors(...)方法没有在该上下文中定义:

$(document).ready(function() {
    $('.form').each(function() {
    $(this).submit(function(e) {
        e.preventDefault();
        if ($.submitForm()) {
    (...)
            $.post(url, $.param(context), function(data) {
                if (!data.success) {
                    $.validator.showErrors(...);
                    //$("#basicdetails").validate();
                }
            }, "json");
        }
        (...)

您还可以看到我尝试过表单重新验证,这也应该触发相应的错误(虽然更多的是真正的解决方案)。

我希望保留静态客户端验证,并在提交ajax后能够引发可能在后端发生的任何错误。

感谢您提供任何帮助。

的Pawel

1 个答案:

答案 0 :(得分:15)

.validate()用于设置验证,触发它应该使用.valid(),如下所示:

$("#basicdetails").valid();