validation动态字段jquery
下午好,我遇到了以下问题。
我正在使用jQuery Validation插件来validation我的表单v1.13.0客户端。
工作得很好。
但我无法解决的问题是:
我有一个字段名称“product []”,这是一个数组。 我可能有一个或者我可能在这个arrays中有20个产品。
这是我的代码:
data_emissao: {required: true}, forma_pagamento: {required: true}, produto[]: {required: true}, // tried this with no sucess
有人遇到过这个问题吗?
两个问题……
1)如果您的字段名称包含括号,圆点或其他特殊字符,则必须将名称括在引号中。
"produto[]": { required: true }
2)但是,除非input
包含这个确切的名称, name="produto[]"
,否则它将无法工作,因为你无法在.validate()
的rules
选项中声明一个数组。 rules
选项仅接受单个字段名称的列表。
两种可能的方案……
1)您可以使用.rules()
方法,如下所示。 使用jQuery“starts with”选择器选择整个数组,使用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 Validate插件仍然可以使用它。
如果您将produto
用作数组,则必须指定其索引,否则它将无法按预期工作。 尝试使用produto[0]
表示您的arrays至少需要一个值。