【问题标题】:jquery validate array inputs errorjquery验证数组输入错误
【发布时间】:2014-05-28 14:40:02
【问题描述】:

我有一个有多个输入数组的表单,但我只想要一些是强制性的,你想应用忽略忽略的类。问题是 jquery validate 检查所有强制性的。我怎样才能避免这种情况:

一个简单的例子:

html

<form id='register' name='register' method='post' action='' >   
enter code herearray1: <input type='text' name='name[]' id='name'/>
   input type 1: <input type='text' name='name[]' id='name'/>
   input type 1: <input type='text' class="noValidate" name='name[]' id='name'/>
   input type 1: <input type='text' name='name[]' id='name'/>

   <input type='submit' name='Submit' value='Submit' />

</form>

验证表单的函数

function ValidateFormNewContract()
{
    $('#formAltaContrac').submit(function(event)
    {
        event.preventDefault();
        $('#formAltaContrac').validate().settings.ignore = []; 
    });

    $('#formAltaContrac').validate(
    {
        ignore: ".noValidate",
        invalidHandler: function(e,validator) 
        {
            if(validator.errorList.length > 0)
            {
                var id = $(validator.errorList[0].element).parent().parent().parent().parent().parent()[0].id;
                $('a[href=#'+id+']').click();
                $(validator.errorList[0].element).focus();
            }
        },
        submitHandler: function(form) {
//            alert('enviado');
            SendNewContractData();
        },
        rules: {
            'name[]':{required: true},
//            
        }
    });
}

注意:我已修改 jquery validate 以执行验证数组输入,

验证数组输入使它们很好,但不要忽略类

还有一个问题,我该如何做才能使跨度 Feeding Fail jquery 验证输入扩展到其他输入以导致数组故障?

【问题讨论】:

  • 您不能多次使用同一个name。 jQuery Validate 插件使用name 来跟踪输入,因此它必须是唯一的。

标签: jquery arrays input jquery-validate


【解决方案1】:

您的代码...

enter code herearray1: <input type='text' name='name[]' id='name'/>
input type 1: <input type='text' name='name[]' id='name'/>
input type 1: <input type='text' class="noValidate" name='name[]' id='name'/>
input type 1: <input type='text' name='name[]' id='name'/>

1) 最大的问题是所有输入元素都包含相同的name="name[]"。除了语义不佳之外,您不能复制 name 属性,因为插件使用它来跟踪输入元素。

2) 至于“忽略”输入,如果您没有为输入指定 rule,则不会评估输入。很简单,一旦你解决了上面的命名问题,这部分就会自己解决。

【讨论】:

    猜你喜欢
    • 2016-08-31
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多