jQuery Validation插件自定义方法.多个参数

Buz*_*bba 28 jquery jquery-validate

我正在尝试使用带有jQuery 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" }
            }
        });
});
Run Code Online (Sandbox Code Playgroud)

jan*_*mon 41

Javascript数组:

[value1,value2,value3]
Run Code Online (Sandbox Code Playgroud)

你的代码可能是:

inputEl: { required: true, math: [2, 3 ,4 , 5] }
Run Code Online (Sandbox Code Playgroud)


Ben*_*ter 21

您还可以将普通的JavaScript对象作为参数传递,我个人觉得这个参数更容易使用:

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

$("#input").rules("add", { myRule: { data: "foo" } });
Run Code Online (Sandbox Code Playgroud)