jQuery Validation equalTo无法比较两个电子邮件地址

时间:2014-05-23 09:57:12

标签: javascript jquery html validation twitter-bootstrap

我的表格和验证码如下。其他一切正常,但比较两个电子邮件地址不起作用。它给了我

未捕获的TypeError:无法读取未定义的属性“call”

下面的HTMLcode和脚本。我正在使用bootstrap 3。

        <form class="form-horizontal" id="form" >
          <fieldset>
          <legend> Dealer Registration </legend>
          <div class="form-group">
            <label for="dealer_name" class="col-sm-2 control-label">Dealership Name</label>
            <div class="col-sm-6">
              <input type="text" class="form-control" id="dealer_name" name="dealer_name"  placeholder="Dealership Name">
            </div>
          </div>
          <div class="form-group">
            <label for="street" class="col-sm-2 control-label">Address</label>
            <div class="col-sm-3">
              <input type="text" class="form-control" id="street" name="street" placeholder="Street number and Name">
            </div>
          </div>
          <div class="form-group">
            <label for="suburb" class="col-sm-2 control-label"></label>
            <div class="col-sm-3">
              <input type="text" class="form-control" id="suburb" name="suburb" placeholder="Suburb">
            </div>
          </div>
          <div class="form-group">
            <label for="state" class="col-sm-2 control-label"></label>
            <div class="col-sm-3">
              <input type="text" class="form-control" id="state" name="state" placeholder="State">
            </div>
          </div>
          <div class="form-group">
            <label for="postcode" class="col-sm-2 control-label"></label>
            <div class="col-sm-2">
              <input type="text" class="form-control" id="postcode" name="postcode" placeholder="Post Code">
            </div>
          </div>
          <div class="form-group">
            <label for="email1" class="col-sm-2 control-label">Email</label>
            <div class="col-sm-4">
              <input type="email" class="form-control" id="email1" name="email1" placeholder="Email">
            </div>
          </div>
          <div class="form-group">
            <label for="email2" class="col-sm-2 control-label">Confirm Email</label>
            <div class="col-sm-4">
              <input type="email" class="form-control" id="email2" name="email2" placeholder="Email">
            </div>
          </div>
          <div class="form-group">
            <label for="first_name" class="col-sm-2 control-label">Contact</label>
            <div class="col-sm-4">
              <input type="text" class="form-control" id="first_name" name="first_name" placeholder="First Name">
            </div>
          </div>
          <div class="form-group">
            <label for="last_name" class="col-sm-2 control-label"></label>
            <div class="col-sm-4">
              <input type="text" class="form-control" id="last_name" name="last_name" placeholder="Last Name">
            </div>
          </div>
          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-6">
              <div class="checkbox">
                <label>
                  <input type="checkbox"> Agree the terms and conditions (to do)
                </label>
              </div>
            </div>
          </div>
          <div class="form-group">
            <div class="col-sm-offset-2 col-sm-6">
              <button type="submit" class="btn btn-default">Sign in</button>
            </div>
          </div>
          </fieldset>
        </form>



        <script>
$(document).ready(function(){
    $("form").validate({
        rules: {
            dealer_name:{
                minlength: 3,
                maxlength: 50,
                required: true
            },
            street:{
                minlength: 3,
                required: true
            },
            suburb:{
                minlength: 3,
                required: true
            },
            state:{
                minlength: 1,
                required: true
            },
             postcode:{
                minlength: 4,
                maxlength: 4,
                required: true
            },          
            email1:{
                minlength: 1,
                required: true,
            },
            email2:{
                minlength: 1,
                required: true,
                email1: {
                     equalTo: '#email2'
                }
            },
            state:{
                minlength: 1,
                required: true
            },
            first_name:{
                minlength: 1,
                required: true
            },
            last_name:{
                minlength: 1,
                required: true
            }           
        },
        highlight: function (element) {
            $(element).closest('.form-group').removeClass('has-success').addClass('has-error');
        },
        unhighlight: function (element) {
            $(element).closest('.form-group').removeClass('has-error').addClass('has-success');
        }
    });
}); 
</script>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

应该是

email2:{
                minlength: 1,
                required: true,
                equalTo: '#email1'
            },