我有两个电子邮件字段:email1和email2。我希望他们都与众不同。由于某些原因,我将email1保持为只读状态,而email2保持可编辑状态。以下是我的代码-

我的自定义验证器如下-

$.validator.addMethod("email_not_same", function(value, element) {
  return $('#email1').val() != $('#email2').val();
}, "Both emails should not be same");


我的规则如下-

 email1: {
    required: true,
    email: true,
  },
  email2: {
    email: true,
    email_not_same: true,
  },


我的html代码如下:

<div class="form-group col-md-12">
    <label><strong>Emails : </strong></label>
</div>
<div class="form-group col-md-6">
    <input class="form-control" name="email1" placeholder="Email 1" type="email">
</div>
<div class="form-group col-md-6">
    <input class="form-control" name="email2" placeholder="Email 2" type="email">
</div>


当我输入两个电子邮件地址相同时;它根据我的规则显示该消息。但是,此后,当我更改我的email2时,它仍然显示错误消息。请帮忙。

最佳答案

您缺少电子邮件的id属性:

<input class="form-control" id="email1" name="email1" placeholder="Email 1" type="email" />
<input class="form-control" id="email2" name="email2" placeholder="Email 2" type="email" />


但是您在这里使用它们:

return $('#email1').val() != $('#email2').val();

09-25 18:12