jqueryvalidation为数组输入添加规则
我想将复选框值存储在数组中,但是,我不能使用validation规则,因为名称是selectList[]
而不是selectList
。 我试过id,但似乎规则只绑定到名称。
HTML:
js规则:
$("#selectList").validate( { rules: { selectList[]: { required: true, minlength: 1 } } }) });
谢谢
为什么不在引号内包装selectList[]
:
$("#selectList").validate({ rules: { 'selectList[]': { required: true, minlength: 1 } } });
在初始化Javascript对象属性名称时 ,它们可以是标识符(您尝试的方式),数字或字符串。
工作代码: http : //jsfiddle.net/rMgLG/
问题是现成的jquery.validate.js只validationcategory []的第一个元素。 所以,我们需要稍微修改一下。
在jquery.validate.js中,找到一个名为checkForm的函数,我们必须修改它如下:
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(); },