我犯了个错误不知道你发现了没有?
<script type="text/javascript">
        $(document).ready(
function() {
            $(
"#aspnetForm").validate({
                rules: {
                    
<%= txtConfirmPassword.ClientID %>: {
                        equalTo: 
"#<%= txtPassword.ClientID %>"
                    }
                },
                messages: {
                    
<%= txtConfirmPassword.ClientID %>: {
                        equalTo: 
'Passwords donot match.'
                    }
                }
            });
        });
    
</script>


查看HTML代码:
<input name="ctl00$Content$txtPassword" type="password" />

ClientID对应id, UniqueID对应name,jQuery validate是使用name验证。
正确的如下:

<script type="text/javascript">
        $(document).ready(
function() {
            $(
"#aspnetForm").validate({
                rules: {
                    
<%= txtConfirmPassword.UniqueID %>: {
                        equalTo: 
"#<%= txtPassword.ClientID %>"
                    }
                },
                messages: {
                    
<%= txtConfirmPassword.UniqueID %>: {
                        equalTo: 
'Passwords donot match.'
                    }
                }
            });
        });
    
</script>


为了调试,你可以先加个debug: true。


相关文章: