jquery验证输入数组并传递动态值

时间:2015-07-27 12:46:20

标签: javascript jquery validation jquery-validate

我正在尝试使用jquery validator插件验证一组输入数组。我在理解如何将另一个元素传递给验证时遇到了问题。

到目前为止我的代码:

$('#edit-fixtures').validate({
            rules: {
                "player_a[]": {
                    required: true,
                    uniqueMatch: function () {
                        return $(this).next('.player').val();
                    },
                },
                "player_b[]": {
                    required: true,
                    uniqueMatch: function () {
                        $(this).closest('.player').val();
                    },
                },
            }
        });

我的输入元素是一系列名为player_a[] player_b[]的成对选择框。大约有40对。每一对都应该是唯一的,这就是我要验证的内容。

我正在尝试将最近的player_b的值传递给更改后的player_a,反之亦然。

我有一个更改方法来验证每次更改:

$(".player").change(function () {

            var check = $(this).valid();

            console.log("validation:", check);

        });

我仍在研究验证方法,但似乎无法正确获取方法的参数。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

uniqueMatch: [$item1, $item2, ....]

$.validator.addMethod('uniqueMatch', function(value, element, parameterValue) {
    var item1Value = $(parameterValue[0]).val();
    //and so on...
    //Based on values, you return true or false;
    //Voila!
}