2013-09-17 2 views
0

Существует текстовая область, которая проверяется с помощью обязательного поля.Обязательный полевой валидатор запускается на PostBack

<textarea style="width: 380px" id="txtAdditonalEmail" runat="server" rows="5"></textarea> 
<asp:RequiredFieldValidator ID="rfvAdditonal" runat="server" ControlToValidate="txtAdditonalEmail" 
ErrorMessage="Atleast one additonal email is required" ForeColor="Red" ValidationGroup="vldRequest"></asp:RequiredFieldValidator> 

Также есть элемент управления файловой системой, через который я обрабатываю файл. Загрузка файла содержит событие Side OnChange клиента, которое является подтверждением расширения файла, а затем делает запись назад для чтения файла.

<asp:FileUpload ID="fluCsr" runat="server" /> 

OnChange Javascript:

function ValidateFileUpload() { 
      var fuData = document.getElementById('<%= fluCsr.ClientID %>'); 
      var FileUploadPath = fuData.value; 
      var Extension = FileUploadPath.substring(FileUploadPath.lastIndexOf('.') + 1).toLowerCase(); 
      var lblMsg = $("#<%= lblMsg.ClientID %>"); 
      var btnRead = $("#<%=txtComments.ClientID %>"); 

      if (Extension != "txt" && Extension != "csr" && Extension != "pem") { 
       if (lblMsg != null && btnRead != null) { 
        lblMsg.show(); 
       } 
      } 
      else { 
       lblMsg.hide(); 
       this.$("#form1").submit(); 
      } 

     } 

После Post-обратно файл читается, но обязательное поле валидатор увольняют? как это можно остановить во время этого пост-обратно?

+0

Что вы подразумеваете под 'Обязательная проверка поля? 'Вы имеете в виду, что проверка выполняется на стороне сервера? Пожалуйста, поделитесь своим кодом на стороне сервера, а также –

+0

это означает, что после завершения обработки на стороне сервера в браузере отображается требуемое сообщение поля. – ankur

ответ

-2

Я думаю, проблема в <textarea> контроля. Вам нужно использовать управление <asp:TextBox TextMode="MultiLine">.

Вот ссылка на ссылку ...

TextArea with Required Field Validator

+0

это не имеет никакого отношения к области текста ... Даже текстовое поле имеет такое же поведение. – ankur

0

Вы должны написать собственный валидатор, чтобы пропустить проверку на стороне сервера.

+0

Вы можете легко расширить функцию js ValidateFileUpload(), чтобы включить проверку значения txtAdditonalEmail. – Karan

+0

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.clientvalidationfunction.aspx. Это хороший пример. Вы можете легко опустить обработчик событий на стороне сервера, чтобы выполнить проверку только на стороне клиента. – Karan

Смежные вопросы