对输入元素数组的JQuery验证 [英] JQuery Validation for Array of Input Elements

查看:93
本文介绍了对输入元素数组的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆