如何使用jquery.validate.min.js验证数组类型中具有名称的输入字段

如何使用jquery.validate.min.js验证数组类型中具有名称的输入字段,jquery,input,jquery-validate,Jquery,Input,Jquery Validate,我有input标记字段,它在array 例如 <div class="form-group"> <label class="col-sm-2 control-label"> <span style="color: red;">*</span> Title</label> <div class="col-sm-8 general-title tooltip-demo"> <

我有
input
标记字段,它在
array
例如

<div class="form-group">
    <label class="col-sm-2 control-label">
        <span style="color: red;">*</span>
        Title</label>
    <div class="col-sm-8 general-title tooltip-demo">

<input type="text" name="form[1][title]" id="title" value="" size="64" class="form-control" data-toggle="tooltip" data-placement="top" data-html="true" title="" required="required" data-original-title="Enter Notification Title">    </div>
</div>
 <div class="form-group">
    <label class="col-sm-2 control-label">
        <span style="color: red;">*</span>
        Title 2</label>
    <div class="col-sm-8 general-title tooltip-demo">

<input type="text" name="form[2][title]" id="title" value="" size="64" class="form-control" data-toggle="tooltip" data-placement="top" data-html="true" title="" required="required" data-original-title="Enter Notification Title">    </div>
</div>
但我不想将每个验证规则分开,因为我有30个不同的字段,所以我不想编写
30*2
规则

如果有人知道简单的方法,请建议我


提前感谢

您可以在将规则传递到验证函数之前创建规则-

var rules = {};
$('input[name^=form]:text').each(function() {
    rules[this.name] = { required: true };
});

$(document).ready(function() {
  $("#frmforgot").validate({
    rules: rules
  });
});
您可以使用为批量字段分配任何规则

就这么简单

$(document).ready(function() {

    $("#frmforgot").validate();

    $('input[name^="form"]').each(function() {
        $(this).rules('add', {
            required: true
        });
    });

});
在您的情况下,命名是否使用数组格式并不重要。
输入[name^=“form”]
选择器正在查找任何带有
名称的
输入
,该名称以字母
表单
开头

演示:


这是一个没有实际意义的问题,因为您在这些
输入
元素上已经
required=“required”
,所以您不需要再次分配此规则。jQuery验证插件只需使用任何HTML5属性自动分配相应的规则


演示2:

如果我有电子邮件字段和必需的电子邮件验证,该怎么办。同样在你的回答“input[name^=form]”中,它不是数组格式,所以我认为它不起作用。为什么它是数组格式?规则是一个对象,即使在您的示例中也是如此。如果您有其他要求,请更新问题。
name
是我要求的数组格式,我还提到了
name
属性是数组格式。此外,我的代码显示具有相同的“表单[2][title]”。我想你没有看到密码
$(document).ready(function() {

    $("#frmforgot").validate();

    $('input[name^="form"]').each(function() {
        $(this).rules('add', {
            required: true
        });
    });

});