我在我的页面上使用asp:requiredfieldvalidator。关闭控件的常用方法是设置
CausesValidation="false"
然而,我有更多按钮,我不想导致验证,而不是我想要验证。
所以我的想法是,默认情况下关闭它会更容易,当我需要时关闭但我不知道如何。
提前致谢
答案 0 :(得分:1)
我认为默认情况下你不能关闭它,但你可以在你想要导致验证的按钮和它们应该验证的控件上设置ValidationGroup属性。
代码示例:
<asp:TextBox ID="tb1" runat="server" ValidationGroup="ValidateMe" />
<asp:TextBox ID="tb2" runat="server" />
<asp:RequiredFieldValidator" ID="rfv1" runat="server" ControlToValidate="tb1" ValidationGroup="ValidateMe" />
...
<asp:Button ID="btnSubmit" runat="server" ValidationGroup="ValidateMe" />
单击btnSubmit时,无论应用于tb2的任何其他验证控件如何,都只会验证tb1。
答案 1 :(得分:0)
在您的标记中,您可以设置Enabled
标记(我要说的是更明确的关闭方法,而不是使用CausesValidation
):
<asp:requiredfieldvalidator Enabled="false" id="rfv1" ControlToValidate="whatever" />
然后使用以下命令在代码隐藏中选择性地启用它:
rfv1.Enabled = True
如果要在启用验证程序时单击按钮,则会出现CausesValidation。启用验证程序后,<asp:button id="btnSubmit" Text="Submit" />
将无效,但无论验证程序的状态如何,仍然可以单击<asp:button id="UnvalidatedButton" Text="Toggle Validation State" CausesValidation="false" />
。