验证动态字段jquery
下午好,我遇到了以下问题 我正在使用jQuery验证插件验证我的表单v1.13.0客户端 工作正常 但我无法解决的问题是: 我有一个字段名“product[]”,它是一个数组。 在这个阵列中,我可能有一个或20个产品 这是我的密码:验证动态字段jquery,jquery,jquery-validate,Jquery,Jquery Validate,下午好,我遇到了以下问题 我正在使用jQuery验证插件验证我的表单v1.13.0客户端 工作正常 但我无法解决的问题是: 我有一个字段名“product[]”,它是一个数组。 在这个阵列中,我可能有一个或20个产品 这是我的密码: data_emissao: {required: true}, forma_pagamento: {required: true}, produto[]: {required: true}, // tried this with no sucess 有
data_emissao: {required: true},
forma_pagamento: {required: true},
produto[]: {required: true}, // tried this with no sucess
有人遇到过这个问题吗?如果将
produto
用作数组,则必须指定其索引,否则它将无法正常工作。请尝试使用produto[0]
指示您至少需要数组中的一个值。两个问题
1) 如果字段名包含方括号、点或其他特殊字符,则必须将名称括在引号中
"produto[]": {
required: true
}
2) 但是,除非输入
包含此确切名称,name=“produto[]”
,否则它将不起作用,因为您无法在.validate()的规则
选项中声明数组。规则
选项仅接受单个字段名的列表
两种可能的解决方案
1) 您可以使用.rules()
方法,如下所示。使用jQuery“开始于”选择器选择整个数组,使用jQuery.each()
将.rules('add')
方法应用于此组中的每个字段
$('[name^="produto"]').each(function() { // select elements using "starts with" selector
$(this).rules('add', {
required: true,
// other rules
});
});
2) 但是,如果唯一的规则是required
,那么您根本不需要使用任何JavaScript声明它。您可以只使用required
HTML5属性,jQuery验证插件仍然会选择它
<input type="text" name="produto[0]" required="required" />
<input type="text" name="produto[1]" required="required" />
<input type="text" name="produto[2]" required="required" />
<input type="text" name="produto[3]" required="required" />
<input type="text" name="produto[4]" required="required" />
您可能想使用produto
而不使用[]
而不是intendi!当然