Jquery validate验证表单时多个name相同的元素只验证第一个的问题
jquery.validate插件中name属性相同(如name=“name”)时验证的bug
当name属性相同,则validate只校验第一个name的控件,其余input则不校验
使用jquery.validate插件http://jqueryvalidation.org/
当节点的name相同时候,脚本特意忽略剩余节点,导致所有相关节点的errMsg都显示在第一个相关节点上。
这个bug在动态生成表单时候影响比较大。
解决方法:
- 修改input的name, 动态生成不同的name
curClick.find(".data-class-property").attr("name", "in_required" + Math.round(Math.random() * 1000));
- 使用id进行校验
//校验
$("#class-data-form").validate({
rules: {
name: {
required: true,
},
id:{
required: true,
}
code: {
required: true,
},
type: {
required: true,
}
}, messages:{
name:{required:'必填字段不能为空'}
},
focusCleanup: true
});