30

我正在尝试使用带有 jQ​​uery Validation 插件的自定义验证器。但是,我不确定您应该如何将多个参数传递给验证方法?我尝试过使用 (2,3)、花括号和组合,但我失败了。

这是代码 - ???? 标记我需要信息的区域:

$(document).ready(function() {
        jQuery.validator.addMethod("math", function(value, element, params) {
            return this.optional(element) || value == params[0] + params[1];
        }, jQuery.format("Please enter the correct value for {0} + {1}"));

        $("#form_register").validate({
            debug: true,
            rules: {
                inputEl: { required: true, math: ???? }
            },
            messages: {
                inputEl: { required: "Required", math: "Incorrect result" }
            }
        });
});
4

2 回答 2

44

Javascript 数组:

[value1,value2,value3]

所以你的代码可能是:

inputEl: { required: true, math: [2, 3 ,4 , 5] }
于 2009-09-02T10:17:31.023 回答
24

您还可以将普通的 JavaScript 对象作为参数传递,我个人认为它更易于使用:

jQuery.validator.addMethod("myRule", function (value, element, options) {
    return value === options.data;
}, "My Rule says no!");

$("#input").rules("add", { myRule: { data: "foo" } });
于 2013-02-19T14:09:53.753 回答