jQuery验证调试模式在Chrome中没有显示任何输出

时间:2014-12-10 15:09:46

标签: jquery jquery-validate

以下小提琴在调试模式下使用jQuery验证插件。当我按提交时,我的控制台窗口中没有任何调试信息。当debug = true时,是不是应该有调试信息?

click to open the fiddle

JS代码

$("#paymentsform").validate({
    rules: {
        fullname: "required",
        email: {
            required: true,
            email: true
        },
        quantity1: {
            required: "#item1:filled",
            number: true
        },
        quantity2: {
            required: "#item2:filled",
            number: true
        },
        quantity3: {
            required: "#item3:filled",
            number: true
        },
        quantity4: {
            required: "#item4:filled",
            number: true
        },
        quantity5: {
            required: "#item5:filled",
            number: true
        },
        quantity6: {
            required: "#item6:filled",
            number: true
        },
        spam: {
            required: true,
            range: [4, 4]
        }

    },
    debug: true,
    messages: {

        quantity1: {

            required: jQuery.format("Required!"),
            number: jQuery.format("Number Required!")

        },
        quantity2: {

            required: jQuery.format("Required!"),
            number: jQuery.format("Number Required!")
        },
        quantity3: {

            required: jQuery.format("Required!"),
            number: jQuery.format("Number Required!")

        },
        quantity4: {

            required: jQuery.format("Required!"),
            number: jQuery.format("Number Required!")

        },
        quantity5: {

            required: jQuery.format("Required!"),
            number: jQuery.format("Number Required!")

        },
        quantity6: {

            required: jQuery.format("Required!"),
            number: jQuery.format("Number Required!")

        },
        spam: {

            range: jQuery.format("Wrong answer!")
        }
    }
});
$("#item1").click(function() {
    $("#quantity1").valid();
});
$("#item2").click(function() {
    $("#quantity2").valid();
});
$("#item3").click(function() {
    $("#quantity3").valid();
});
$("#item4").click(function() {
    $("#quantity4").valid();
});
$("#item5").click(function() {
    $("#quantity5").valid();
});
$("#item6").click(function() {
    $("#quantity6").valid();
});

1 个答案:

答案 0 :(得分:3)

引用OP

  

"当debug = true时,是否应该提供调试信息?"

是的,但是当我没有什么可调试的时候,我不确定你期待它做什么。

As per documentation

  

debug :启用调试模式。如果为true,则表单未提交,并且控制台上将显示某些错误(将检查是否存在window.console属性)。尝试在刚刚提交表单时启用,而不是停止提交的验证。

换句话说,debug:true会阻止提交,并且只会在您错误地设置某些选项时告诉您。它试图"调试"你的验证码。当插件方法正常工作/构建时,它不会在控制台中显示任何内容。


编辑:这就是debug的工作方式......

I've set one of your fields to an invalid method I called fooBar

fullname: "fooBar",

控制台日志:

  检查元素fullname时发生

异常,检查&#39; fooBar&#39; <方法>   错误