我有 input
标记字段,该字段在 array
中具有 name
属性
即
<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>
我知道,我可以像这样进行验证
$(document).ready(function() {
$("#frmforgot").validate({
rules: {
form[1][title]: {
required: true
},
form[2][title]: {
required: true
}
}
});
});
但我不想分开每个验证规则,因为我有 30 个不同的字段,所以我不想编写 30 * 2
规则。
如果有人知道简单的方法,请推荐我。
提前致谢
最佳答案
您可以使用the .rules()
method将任何规则批量分配给字段。
就这么简单...
$(document).ready(function() {
$("#frmforgot").validate();
$('input[name^="form"]').each(function() {
$(this).rules('add', {
required: true
});
});
});
就您而言,命名使用数组格式并不重要。 input[name^="form"]
选择器正在寻找任何 input
与 name
以字母 form
开头.
这是一个没有实际意义的问题,因为您已经拥有 required="required"
关于那些input
元素,因此您不需要再次分配此规则。 jQuery Validate 插件将简单地使用任何 HTML5 属性来自动分配相应的规则。
关于jquery - 如何使用 jquery.validate.min.js 验证具有数组类型名称的输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39389052/