jquery验证器需要提交两次

时间:2014-08-06 11:40:31

标签: jquery forms jquery-plugins validation

我必须使用jquery validator插件验证表单:

$("#efOptionsForm").validate({
    rules: {
        ef_main_bg: {
             accept: "image/*"
        }
    },
    errorLabelContainer: "#messageBox"        
});

此代码在id为messageBox的div中显示错误,如果文件正常,则隐藏消息但不提交表单。我需要再次点击提交。

如果我删除errorLabelContainer:“#messageBox”,代码工作正常。

我试图添加提交处理程序,就像它在手册中显示的那样,但没有任何改变只是控制台错误。

$("#efOptionsForm").validate({
    rules: {
        ef_main_bg: {
             accept: "image/*"
        }
    },
    errorLabelContainer: "#messageBox",
    submitHandler: function(form) {
        form.submit(); // code shown in manual
    }
});

有人知道如何解决这个问题吗?

BTW表格如果改变了某些内容,就会以Wordpress设置形式出现......

编辑:invalidHandler方法有效,只需要从对象中提取正确的信息并隐藏默认的消息标记。

1 个答案:

答案 0 :(得分:0)

今天,一些研究成功解决了另一种方法的问题:

$("#efOptionsForm").validate({
        rules: {
            ef_main_bg: {
                accept: "image/*"
            }
        },
        errorPlacement: function(error, element) {
            if (error) {
                $("#messageBox").html(error).wrap('<strong></strong>');
                $("#messageBox").show();
            } else {
                $("#messageBox").hide();
            }
        }
    });

单个错误可以正常工作。