Asp.Net: проверка на стороне клиента для обязательного поля - PullRequest
0 голосов
/ 04 октября 2011

У меня есть текстовое поле управления

 <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." />

Теперь в определенной последовательности мне нужно отключить валидатор, применяемый для текстового элемента управления. Как мне этого добиться?

1 Ответ

4 голосов
/ 04 октября 2011

Вам необходимо отключить контроль валидатора.Со стороны сервера вы можете использовать свойство 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

...