jQuery Validation插件 - 页面上的多个表单 - 仅验证提交的表单

时间:2015-06-18 15:40:10

标签: jquery validation

我正在使用优秀的jQuery Validation插件 - http://jqueryvalidation.org/并需要使用类来验证表单。

事情是页面上可能有多个表单,并且它们将具有相同的类。当我尝试提交一个表单时,插件会验证两个表单而不仅仅是提交的表单。

有谁知道这方面的工作?我尝试在每个表单中添加一个随机生成的ID并在提交事件中抓取它,但是当我尝试时,验证插件会无声地失败。

干杯!

更新

//validate and submit form
jQuery('.js-booking-form').validate({
  submitHandler: function(form) {
    //Submit Booking Request via AJAX
  }
});

和示例HTML两种形式几乎完全相同,因此这里缩短了版本:

<form class="js-nudge-booking-form nudge-vertical-booking-form" data-ajaxurl="http://localhost/site/ajax/">
 <input type="text" placeholder="Name" name="client-name">
 <input type="email" placeholder="Email" name="email">
 <input type="submit" value="Submit">
</form>

2 个答案:

答案 0 :(得分:1)

对它进行排序 - 使用每个循环表单并引用表单以通过“this”关键字进行验证。

在这里找到解决方案:http://www.ozonesolutions.com/programming/2012/02/jquery-validation-plugin-with-multiple-forms/我无法弄清楚它为什么会起作用,因为我认为它会告诉插件验证每个表单。

答案 1 :(得分:0)

我不太明白为什么你必须使用类名来验证。一个快速而简单的解决方案是为每个表单分别使用ID,并通过ID

引用表单
<form id="form1" class="yourclass">...</form>
<form id="form2" class="yourclass">...</form>

验证特定表格:

$('#form1').validate({...});

通过按类引用表单,您将始终返回2个表单对象,因为两个表单具有相同的类名。因此,你目前的困境。现在你可以绕过它,但这将涉及修改jquery.validate代码本身或验证处理程序。