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

我犯了个错误不知道你发现了没有?

<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。