使用jQuery validate插件validation多维数组

我创建了这样的表单:

在单击“添加用户”按钮时,它将添加一个带有“用户”类的div,并将其输入为用户[1] [名称]和用户[1] [电子邮件]。

我想根据需要validation电子邮件和姓名,电子邮件必须是有效的电子邮件格式。 为validation,代码如下:

  $('form').validate({ rules : { "user[][name]" : { required: true }, "user[][email]" : { email: true, required : true, }, }, messages :{ "user[][name]" : { required: "Name is Mandatory" }, "user[][email]" : { email: 'Email must be valid email address', required : 'Email is Mandatory', }, } }); 

谁能帮助我如何使用validate插件validation这样的多维数组? 任何帮助,将不胜感激。

首先选择以user开头的所有input元素。 使用jQuery .filter()查找以nameemail结尾的所有元素。 然后使用jQuery .each().rules()方法循环并应用规则。

 var user = $('input[name^="user"]'); user.filter('input[name$="[name]"]').each(function() { $(this).rules("add", { required: true, messages: { required: "Name is Mandatory" } }); }); user.filter('input[name$="[email]"]').each(function() { $(this).rules("add", { email: true, required: true, messages: { email: 'Email must be valid email address', required : 'Email is Mandatory', } }); }); 

演示 : jsfiddle.net/upq6uk0h/

定位多个元素时,还必须使用jQuery .each()方法。

  $('.form-control').each(function () { $(this).rules("add", { required: true }); });