【发布时间】:2009-10-28 09:53:16
【问题描述】:
我在我的页面上使用 asp:requiredfieldvalidator。为控件关闭此功能的常用方法是设置
CausesValidation="false"
但是,我不想引起验证的按钮比需要验证的按钮多。
所以我的想法是默认关闭它并在需要时打开它会更容易,但我不知道如何。
提前致谢
【问题讨论】:
标签: asp.net validation
我在我的页面上使用 asp:requiredfieldvalidator。为控件关闭此功能的常用方法是设置
CausesValidation="false"
但是,我不想引起验证的按钮比需要验证的按钮多。
所以我的想法是默认关闭它并在需要时打开它会更容易,但我不知道如何。
提前致谢
【问题讨论】:
标签: asp.net validation
我认为默认情况下您不能将其关闭,但您可以在要进行验证的按钮和它们应该验证的控件上设置 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 时,只有 tb1 将被验证,而不管任何其他验证控件应用于 tb2。
【讨论】:
在您的标记中,您可以设置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" />。
【讨论】: