JQuery验证:不会调用errorPlacement

时间:2014-03-26 12:09:50

标签: jquery jquery-validate

我使用jquery验证插件。但是,errorPlacement函数不会被执行。如果发生验证错误,则不会发生控该怎么办? 我使用jquery 1.10.3,我也试过1.9.0。

$("#rateform").validate({
    debug: true,
    rules: {
      stars: {
      required: true,
      min: 1
    },
    errorPlacement: function(error, element) {
      console.log(element);
    }
}

});

2 个答案:

答案 0 :(得分:5)

清理代码

$("#rateform").validate({
    debug: true,
    rules: {
        stars: {
            required: true,
            min: 1
        },
        errorPlacement: function (error, element) {
            console.log(element);
        }
    }

});

errorPlacement是否应该在规则中。看documentation,这不是它的工作方式。

$("#rateform").validate({
    debug: true,
    rules: {
        stars: {
            required: true,
            min: 1
        }
    },
    errorPlacement: function (error, element) {
        console.log(element);
    }    
});

答案 1 :(得分:0)

我知道这似乎很明显,但请确保您没有打电话

var options = {}; //some different initial settings
$("#rateform").validate(options) ;

再次在页面或另一个脚本文件中AFTER 初始化它。这将消除您之前的选择。

我知道这很尴尬,但我直接在页面上调试(这允许我绕过构建过程)并且忘记了它在那里。我花了一天的大部分时间试图弄清楚为什么我的选项没有被应用(这是在上述调用之前包含的另一个脚本文件中)。

希望这会为其他人(包括我自己)节省时间来实现这一点。