我有一个文本框控件
<div id="divFirstName" runat="server">
<label>First Name:<span class="mandatory">*</span></label>
<asp:TextBox ID="txt_FirstName" runat="server" TabIndex="1" CssClass="text" onkeypress="clearMessage()" ></asp:TextBox>
</div>
我正在为上述控件应用必需的字段验证器,
<asp:RequiredFieldValidator runat="server" ID="reqFirstName" SetFocusOnError="true" ControlToValidate="txt_FirstName" Display="None" ErrorMessage="First Name is required." />
现在在特定的序列中,我需要禁用应用于文本控件的验证器。我怎样才能做到这一点?
答案 0 :(得分:4)
您需要禁用验证器控件。从服务器端,您可以使用Enabled属性。例如,
reqFirstName.Enabled = false;
如果你想在客户端禁用验证器而不进行回发,那么你应该使用客户端API作为验证器。例如,
ValidatorEnable(document.getElementById('<%=reqFirstName.ClientID%>'), false);
请注意,即使您在客户端禁用验证器,它仍将在服务器上启用,并将在回发时触发验证。所以你必须通过在页面生命周期的早期禁用验证器来处理服务器端的这种情况。
有关验证程序的客户端API的详细信息,请参阅:http://www.aspdotnetfaq.com/Faq/How-to-control-ASP-NET-Validator-Controls-Client-Side-validation-from-JavaScript.aspx