首页 > 解决方案 > 面板内的必填字段导致验证错误

问题描述

我有一个在特定条件下隐藏/取消隐藏的面板。在面板内部,我有一些必填字段。当我也隐藏面板时,我收到该字段是必需的错误。下面是我的代码:

    <asp:Panel ID="pnlAddress" runat="server">

<div class="ui-grid-b" >
<div class="ui-block-a ui-margins"  style="width:100%" ><label for="field_address1" ></span><span style="color:red">*&nbsp;</span><b>Address1</b></label>
    
<input autocomplete="off"  id="txtAddress1" type="text" runat="server" />
</div>
</div>
</asp:Panel>

 <asp:RequiredFieldValidator Display="None"  ID="RequiredFieldValidator4" runat="server" ErrorMessage="Address1 is required" ControlToValidate="txtAddress1"></asp:RequiredFieldValidator>

当我在我的代码中隐藏面板时,address1 required 验证器出现,我收到一个错误。地址 1 是必需的。当面板被隐藏时,如何避免显示 address1 所需的验证器。

标签: c#asp.net

解决方案


如果您使用可见(即pnlAddress.Visible = false)隐藏面板。然后,您可以在面板内或 Page_Load (后面的代码)中移动RequiredFieldValidator,您可以拥有:

RequiredFieldValidator4.Enabled = pnlAddress.Visible;

推荐阅读