使用jQuery Validatevalidation具有相同名称的多个字段

我有一个HTML表单,我正在使用Perl CGI处理,如下所示:

我正在使用jQuery Validation插件validation它。 麻烦的是,当我调用$('#main').valid() ,它只检查第一个字段是非空的。 如何检查所有字段?

官方文件:
jqueryvalidation.org/reference/#link-markup-recommendations

“强制要求:所有需要validation的输入元素都需要’name’属性 ,如果没有这个,插件将无法工作。’name’属性也必须是表单的唯一属性,因为这是插件跟踪所有输入的方式但是,每组radio或checkbox元素将共享相同的“名称”,因为此分组的值代表单个表单数据。“


    

引用OP:

麻烦的是,当我调用$('#main').valid() ,它只检查第一个字段是非空的。 如何检查所有字段?

它与.valid()没有任何关系, .valid()使用其他jQuery Validate方法失败。 那是因为所有三个字段都具有相同的foo name对于此插件,每个input 必须具有唯一的 name

演示: jsfiddle.net/xaFZj/


编辑

使用此插件时,您不能拥有重复的名称。 此演示清楚地表明,当name属性重复时,插件将失败。 没有解决方法,因为name属性是插件跟踪表单元素的方式。

jsfiddle.net/ed3vxgmy/

唯一的例外是广播或复选框组,其中每个分组中的元素将共享相同的name