由于必需属性,一个页面上的多个表单会导致验证冲突

时间:2014-08-12 15:22:25

标签: jquery validation

我在页面上有两个表单:registersign-in

寄存器表单很简单,并且有一些字段具有必需属性,例如

<form name="register" id="register" method="post" enctype="multipart/form-data">
  <input type="text" name="forename" required />
  .... many more fields here ...
<input type="submit" value="Register" />
</form>

<form name="sign-in" id="sign-in" method="post" enctype="multipart/form-data">
  <input type="text" name="username" required />
  <input type="password" name="password" required />
  <input type="submit" value="Sign In" />
</form>

sign-in表单只需要您的用户名和密码。但问题是当我单击提交按钮登录时,我收到来自register表单的验证错误,要求我输入我的姓名。但我不想注册!我只是想登录。为什么提交登录表格会导致登记表格检查验证?

我如何解决这个问题,以便表单完全独立?我使用了JQuery表单验证,并且有一个适用于所有绑定的表单的通​​用验证器:

$('form').validate({
// common validation rules in here
)}

从评论中我可以看出这就是问题所在。但是如何解决它并且仍然对网站上的所有表单都有一个通用的验证功能?

1 个答案:

答案 0 :(得分:1)

为每个表单标记添加ID:

<form id="form1">

</form>
<form id="form2">

</form>

使用jQuery循环遍历每个:

$('form').each(function(){ ... generic validation for all forms here ... });