Jquery.Validate Password Equalto - 不显示错误

时间:2016-11-01 21:23:34

标签: javascript jquery asp.net jquery-validate

我可以设置Required = true,min和max length但由于某种原因,当我尝试为PasswordAgain字段设置EqualTo参数时,即使密码不匹配,表单也只允许提交。

    <section>
        <label class="input login-input">
                    <div class="input-group">
                        <span class="input-group-addon"><i class="fa fa-user"></i></span>
                                    <input name="ctl00$ContentPlaceHolder1$ctl01$txtUserName" type="text" id="txtUserName" class="form-control" placeholder="UserName" />
                                </div>
                            </label>
                        </section>
                        <section>
                            <label class="input login-input no-border-top">
                                <div class="input-group">
                                    <span class="input-group-addon"><i class="fa fa-envelope"></i></span>
                                    <input name="ctl00$ContentPlaceHolder1$ctl01$txtEmail" type="text" id="txtEmail" class="form-control" placeholder="Email Address" />
                                </div>
                            </label>
                        </section>
                        <section>
                            <label class="input login-input no-border-top">
                                <div class="input-group">
                                    <span class="input-group-addon"><i class="fa fa-lock"></i></span>
                                    <input name="ctl00$ContentPlaceHolder1$ctl01$txtPassword" type="password" id="txtPassword" class="form-control" placeholder="Password" />
                                </div>
                            </label>
                        </section>
                        <section>
                            <label class="input login-input no-border-top">
                                <div class="input-group">
                                    <span class="input-group-addon"><i class="fa fa-lock"></i></span>
                                    <input name="ctl00$ContentPlaceHolder1$ctl01$txtPasswordAgain" type="password" id="txtPasswordAgain" class="form-control" placeholder="Password Confirm" />
                                </div>
        </label>
        </section>



<script src="<%= ResolveUrl("~/Content/assets/plugins/sky-forms-pro/skyforms/js/jquery.form.min.js")%>"></script>
<script src="<%= ResolveUrl("~/Content/assets/plugins/sky-forms-pro/skyforms/js/jquery.validate.min.js")%>"></script>

<script>
    jQuery(document).ready(function() {
        $("#form1").validate({
            // Rules for form validation
            rules:
            {
                ctl00$ContentPlaceHolder1$ctl01$txtUserName:
                {
                    required: true
                },
                ctl00$ContentPlaceHolder1$ctl01$txtEmail:
                {
                    required: true,
                    email: true
                },
                ctl00$ContentPlaceHolder1$ctl01$txtPassword:
                {
                    required: true,
                    minlength: 6,
                    maxlength: 20
                },
                ctl00$ContentPlaceHolder1$ctl01$txtPasswordAgain:
                {
                    required:true,
                    minlength:6,
                    equalTo:"#ctl00$ContentPlaceHolder1$ctl01$txtPassword"
                }

            },

            // Messages for form validation
            messages:
            {
                ctl00$ContentPlaceHolder1$ctl01$txtUserName:
                {
                    required: '* Requires a valid UserName.'

                },
                ctl00$ContentPlaceHolder1$ctl01$txtEmail:
                {
                    required: '* This is a Required Field.',
                    minlength:  '* Password Min Length of 6 char.'
                },
                ctl00$ContentPlaceHolder1$ctl01$txtPassword:
                {
                    required: '* This is a Required Field.',
                    minlength: '* Password Min Length of 6 char.'
                },
                ctl00$ContentPlaceHolder1$ctl01$txtPasswordAgain:
                {
                    required: '* This is a Required Field.',
                    minlength: '* Password Min Length of 6 char.',
                    equalTo: "Please specify the same password as above."
                }

            },

            // Do not change code below
            errorPlacement: function (error, element) {
                error.insertAfter(element.parent());
            }
        });
    });
</script>

1 个答案:

答案 0 :(得分:-1)

 ctl00$ContentPlaceHolder1$ctl01$txtPasswordAgain:
   { required:true,
     equalTo:"#ctl00$ContentPlaceHolder1$ctl01$txtPassword"
   }

从ctl00中移除minlength $ ContentPlaceHolder1 $ ctl01 $ txtPasswordAgain

我希望它可能有效