2012-01-04 33 views
6

我有一个密码文本框并确认密码文本框,我在其中使用comparevalidator以确保它们相同。如果他们不是,我希望用户收到一条错误消息,说他们不匹配。但是,我不希望在用户单击按钮之前显示此信息。目前发生的事情是,当我从第一个文本框选择第二个文本框时,我立即收到该错误。防止comparevalidator显示错误,直到点击按钮

如何才能防止此错误显示,直到我点击一个按钮后?

回答

4

一个非常简单的方法来解决,这将是扭转ControlToCompareControlToValidate

<label>Password: <asp:TextBox ID="password" runat="server"></asp:TextBox></label><br/> 
<label>Confirm Password:<asp:TextBox ID="confirmPassword" runat="server"></asp:TextBox></label> 
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="password" ControlToValidate="confirmPassword" ErrorMessage="Passwords do not match"></asp:CompareValidator> 

通过逆转这些特性的验证应该只发生时,他们关闭标签确认密码文本框。 (这假设用户填写表格自上而下不是自下而上,但是谁会这样做

+0

这可能是目前没有应用JavaScript的最佳解决方案。 – 2012-01-05 15:06:51