Jquery validate验证表单时只验证第一个input的问题

Jquery validate验证表单时多个name相同的元素只验证第一个的问题

jquery.validate插件中name属性相同(如name=“name”)时验证的bug
当name属性相同,则validate只校验第一个name的控件,其余input则不校验

使用jquery.validate插件http://jqueryvalidation.org/
当节点的name相同时候,脚本特意忽略剩余节点,导致所有相关节点的errMsg都显示在第一个相关节点上。
这个bug在动态生成表单时候影响比较大。

解决方法

  1. 修改input的name, 动态生成不同的name
    curClick.find(".data-class-property").attr("name", "in_required" + Math.round(Math.random() * 1000));
  1. 使用id进行校验
    //校验
    $("#class-data-form").validate({
        rules: {
            name: {
                required: true,
            },
            id:{
                required: true,
            }
            code: {
                required: true,
            },
            type: {
                required: true,
            }
        }, messages:{
            name:{required:'必填字段不能为空'}
        },
        focusCleanup: true
    });

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...