Asp.net验证器验证禁用控件

本文关键字:验证 控件 net Asp | 更新日期: 2023-09-27 18:17:05

我有一个Panel控件,它包含一些控件,如文本框。我想使用asp.net验证器来验证文本框。但是,如果Panle被禁用,则文本框将被禁用,但验证器(如RequiredFieldValidator)将验证禁用的文本框。

<asp:Panel ID="Panel1" runat="server" Enabled="false">
    <asp:TextBox ID="TextBox2" runat="server" />
    <asp:RequiredFieldValidator runat="server" ErrorMessage="RequiredFieldValidator"
        ForeColor="#FF3300" ControlToValidate="TextBox2"></asp:RequiredFieldValidator>
</asp:Panel>

如何设置不验证禁用控件的验证器?

Asp.net验证器验证禁用控件

如果某些控件被禁用,您可以设置其属性CausesValidation="False"

<asp:Button id="Button1" runat="server"
  Text="Cancel" CausesValidation="False">
</asp:Button>

你能这样做吗

if (!panel.Enabled)
{
    RequiredFieldValidator1.Enabled = false;// disable your all validators
}

添加Page_Load()

RequiredFieldValidator1.Enabled = panel.Enabled;