我有一个密码文本框并确认密码文本框,我在其中使用comparevalidator
来确保它们是相同的。如果不是,我希望用户收到一条错误消息,说明它们不匹配。但是,我不想在用户单击按钮之前显示它。目前发生的是当我从第一个文本框切换到第二个文本框时,我立即收到该错误。
如何在单击按钮之前阻止此错误显示?
答案 0 :(得分:4)
解决此问题的一种非常简单的方法是撤销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>
通过反转这些属性,只有在选中“确认密码”文本框时才会进行验证。 (这假设用户填写表格自上而下而不是自下而上,但是无论如何