我有一个具有多个输入数组的表单,但我只想要一些必须的,你想要应用忽略忽略的类。问题是jquery验证检查所有必须的。我怎么能避免这个:
一个简单的例子:
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验证输入传播到阵列故障的其他输入?
答案 0 :(得分:0)
您的代码......
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
,则不会评估输入。很简单,一旦你解决了上面的命名问题,这部分就会照顾好自己。