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至少需要一个值。