Javascript jQuery验证:输入名称值的正则表达式
我正在尝试为表单添加验证Javascript jQuery验证:输入名称值的正则表达式,javascript,jquery,ruby-on-rails,jquery-validate,Javascript,Jquery,Ruby On Rails,Jquery Validate,我正在尝试为表单添加验证 $('#reportForm').validate({ rules: { 'report[invoices_attributes][0][invoice_type]' : { required: true, 'report[invoices_attributes][0][invoice_type]':true } } }); reportForm是我表单的id。我的所有输入字段名称值将类似于“报告[invoices
$('#reportForm').validate({
rules: {
'report[invoices_attributes][0][invoice_type]' :
{
required: true,
'report[invoices_attributes][0][invoice_type]':true
}
}
});
reportForm是我表单的id。我的所有输入字段名称值将类似于“报告[invoices_attributes][indexnr]…”(因为我使用的是嵌套属性,可以有0个或更多元素)
为此,我希望将所有的输入名称值与正则表达式匹配,如:/^report\[invoices\u attributes\]\[[0-9]\](.*)/
如何将其添加到输入名称值的规则字段(当前为“报告[发票属性][0][发票类型]”),以匹配我感兴趣的所有字段?首先,我想
在
.validate()
的规则
对象内声明规则时,一次只能声明一个规则字段
$('#reportForm').validate({
rules: {
'report[invoices_attributes][0][invoice_type]': {
required: true,
},
'report[invoices_attributes][1][invoice_type]': {
required: true,
},
'report[invoices_attributes][2][invoice_type]': {
required: true,
},
// etc.
}
});
如果要在多个字段上声明,请使用.rules()
方法以及jQuery.each()
和任何针对您的组的适当jQuery选择器
$('.myfields').each(function() {
$(this).rules('add', {
required: true
});
});
您也不能有一个布局,其中所有正在验证的字段共享相同的名称
属性每个字段必须具有唯一的名称
,或者复选框/单选按钮的单个“分组”可以共享一个名称
没有解决方法。
如果您只需要可以简单地用布尔值声明的基本规则,那么可以使用内联属性,而不是.rules()
方法或规则
对象
<input name="foo" required="required" ....
你不能那样做。在.validate()
的规则
对象内声明规则时,一次只能声明一个规则字段。您也不能有一个布局,其中所有正在验证的字段共享相同的名称
属性。每个字段必须具有唯一的名称
。或者,复选框/单选按钮的单个“分组”可以共享一个名称
。这些都在文档中有详细说明。在场景中的每个名称下只能是规则列表,不能有更多的字段名。
<input name="foo" class="required" ....