Mir*_*kar 6 jquery jquery-validate multidimensional-array
我创建了这样的表单:
<form>
<div class='row user">
<div class="col-md-6 col-sm-6 input-group">
<input type="text" class="form-control" name="user[0][name]" placeholder="Enter speaker's name">
</div>
<div class="col-md-6 col-sm-6 input-group">
<span class="input-group-addon" id="basic-addon1"><i class="fa fa-envelope"></i> </span>
<input type="text" class="form-control" name="user[0][email]" placeholder="Email">
</div>
</div>
<button onclick="addMoreUser()" class="add-more">Add User</button>
</form>
Run Code Online (Sandbox Code Playgroud)
在单击“添加用户”按钮时,它将添加一个类“用户”的 div,它的输入为 user[1][name] 和 user[1][email]。
我想根据需要验证电子邮件和姓名,并且电子邮件必须是有效的电子邮件格式。为了验证,代码如下:
$('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',
},
}
});
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我如何使用验证插件验证这种多维数组吗?任何帮助,将不胜感激。
首先选择所有input以 开头的元素user。使用 jQuery.filter()查找所有以name和结尾的元素email。然后使用 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',
}
});
});
Run Code Online (Sandbox Code Playgroud)