对输入元素数组的JQuery验证 [英] JQuery Validation for Array of Input Elements
本文介绍了对输入元素数组的JQuery验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要验证一组输入文本元素(里程):例如:
< tbody>
< c:forEach items =$ {list}var =item>
< tr>
<! - 其他一些栏目--->
< td align =left>< input type =textname =mileagevalue =/>< / td>
< / tr>
< / c:forEach>
< / tbody>
验证脚本如下 -
< pre $
$(document).ready(function(){
$(#form1)。validate({
rules:{
里程:{
required:true
}
},
submitHandler:function(form){
form.submit();
}
});
});
现在问题是.validate.js只验证里程的第一个元素。我能做什么?我怎样才能让插件验证所有的输入文本?
我希望你能帮助我。
解决方案
在jquery.validate.js中,我们可以找到一个名为checkForm的函数,我们必须修改它,如下所示: p>
checkForm:function(){
this.prepareForm(); (this.findByName(elements [i] .name)){
for(var i = 0,elements =(this.currentElements = this.elements()); elements [i]; i ++){
(var cnt = 0; cnt< this.findByName(elements [i])的长度为.length!= undefined&&&& this.findByName(elements [i] .name).length> 1){
。 name).length; cnt ++){
this.check(this.findByName(elements [i] .name)[cnt]);
}
} else {
this.check(elements [i]);
}
}
返回this.valid();
}
I need to validate an array of input text elements (mileage): For example:
<tbody>
<c:forEach items="${list}" var="item">
<tr>
<!--some other columns--->
<td align="left"><input type="text" name="mileage" value="" /></td>
</tr>
</c:forEach>
</tbody>
The script for validation is as below -
$(document).ready(function(){
$("#form1").validate({
rules: {
mileage: {
required: true
}
},
submitHandler: function(form) {
form.submit();
}
});
});
Now the problem is that the .validate.js only validates the first element of mileage. What can I do? How can I make the plugin validate all of the inputs text ?
I hope you can help me out.
解决方案
In jquery.validate.js, we can find a function named checkForm, we have to modify it as below:
checkForm: function() {
this.prepareForm();
for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) {
if (this.findByName( elements[i].name ).length != undefined && this.findByName( elements[i].name ).length > 1) {
for (var cnt = 0; cnt < this.findByName( elements[i].name ).length; cnt++) {
this.check( this.findByName( elements[i].name )[cnt] );
}
} else {
this.check( elements[i] );
}
}
return this.valid();
}
这篇关于对输入元素数组的JQuery验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文