C# 在单击按钮之前,防止comparevalidator显示错误

C# 在单击按钮之前,防止comparevalidator显示错误,c#,asp.net,validation,C#,Asp.net,Validation,我有一个密码文本框和确认密码文本框,在其中我使用一个comparevalidator来确保它们相等。如果它们不匹配,我希望用户收到一条错误消息,表明它们不匹配。但是,我不希望在用户单击按钮之前显示此内容。当前发生的情况是,当我从第一个文本框切换到第二个文本框时,我立即收到该错误 如何防止在单击按钮之前显示此错误?解决此问题的一个非常简单的方法是将控件反转为compare和控件反转为validate <label>Password: <asp:TextBox ID="passwo

我有一个密码文本框和确认密码文本框,在其中我使用一个
comparevalidator
来确保它们相等。如果它们不匹配,我希望用户收到一条错误消息,表明它们不匹配。但是,我不希望在用户单击按钮之前显示此内容。当前发生的情况是,当我从第一个文本框切换到第二个文本框时,我立即收到该错误


如何防止在单击按钮之前显示此错误?

解决此问题的一个非常简单的方法是将
控件反转为compare
控件反转为validate

<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>
密码:
确认密码:

通过反转这些属性,只有当它们从“确认密码”文本框中弹出时,才会进行验证。(这假设用户自上而下而不是自下而上填写表单,但谁会这样做呢)

这可能是目前最好的解决方案,无需应用javascript。