【发布时间】:2012-01-04 18:23:36
【问题描述】:
我有一个密码文本框和确认密码文本框,我在其中使用comparevalidator 来确保它们相等。如果不是,我希望用户收到一条错误消息,指出它们不匹配。但是,我不希望在用户单击按钮之前显示它。当前发生的情况是,当我从第一个文本框切换到第二个文本框时,我立即收到该错误。
如何防止在单击按钮之前出现此错误?
【问题讨论】:
标签: c# asp.net validation
我有一个密码文本框和确认密码文本框,我在其中使用comparevalidator 来确保它们相等。如果不是,我希望用户收到一条错误消息,指出它们不匹配。但是,我不希望在用户单击按钮之前显示它。当前发生的情况是,当我从第一个文本框切换到第二个文本框时,我立即收到该错误。
如何防止在单击按钮之前出现此错误?
【问题讨论】:
标签: c# asp.net validation
解决此问题的一个非常简单的方法是将 ControlToCompare 和 ControlToValidate 颠倒过来
<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>
通过反转这些属性,只有在它们关闭确认密码文本框时才会进行验证。 (假设用户自上而下而不是自下而上填写表单,但无论如何谁会这样做)
【讨论】: