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

Posted

技术标签:

【中文标题】jquery验证输入数组并传递动态值【英文标题】:jquery validate input array and passing dynamic values 【发布时间】:2015-10-17 15:54:08 【问题描述】:

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

到目前为止我的代码:

$('#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】:
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!

【讨论】:

以上是关于jquery验证输入数组并传递动态值的主要内容,如果未能解决你的问题,请参考以下文章

jQuery验证动态输入[重复]

基于选择的jquery动态验证

如何使用jquery生成动态输入并通过id获取值

jquery输入数组动态slug

Laravel 验证动态表单输入数据?

使用 jquery 验证动态输入字段