再努力一点点

没有烟抽的日子
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

jQuery validate在Asp.Net WebForm中容易被犯的错误

Posted on 2010-07-18 23:11  ZhangPeng.Chen  阅读(1017)  评论(0)    收藏  举报
我犯了个错误不知道你发现了没有?
<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" id="ctl00_Content_txtPassword" />
<input name="ctl00$Content$txtConfirmPassword" type="password" id="ctl00_Content_txtConfirmPassword" />

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。