2016-04-19 5 views
-1

У меня есть сетчатый сет, называемый gv1. В нем есть флажок, и флажок флажка должен быть проверен для обработки. У меня есть пользовательская проверка, но она не работает. Пожалуйста, обратите внимание на ниже,Пользовательский валидатор не стреляет

валидатора

<asp:CustomValidator runat="server" ID="vldItemCus" 
    ClientValidationFunction="ValidateSelection" 
    Display="None" ErrorMessage="Select atleast one item for update" ValidationGroup="Update"></asp:CustomValidator> 

Validation Резюме

<asp:ValidationSummary ID="vldSummary" runat="server" ShowMessageBox="True" ShowSummary="False" ValidationGroup="Update"></asp:ValidationSummary> 

Javascript Функция

function ValidateSelection(source, args) { 
    var found = 0; 
    $('#gv1 input[type=checkbox]').each(function() { 
     if (this.checked) { 
      found = 1; 
      return false; 
     } 
    }); 
    if (found == 1) { 
     args.IsValid = true; 
    } 
    else { 
     args.IsValid = false; 
    } 
    return; 
} 
+0

Установили ли вы точку разрыва js в 'ValidateSelection'? –

+0

Да, функция называется. Я попытался активировать функцию внутри, и это сработало. –

+0

Я думаю, вам нужно установить 'ControlToValidate' валидатора для правильной работы – Andrei

ответ

1

Changed функции, как показано ниже,

function ValidateSelection(source, args) { 
    var found = 0; 
    $('#<%= gv1.ClientID %> input[type=checkbox]').each(function() { 
     if (this.checked) { 
      found = 1; 
      return false; 
     } 
    }); 
    if (found == 1) { 
     args.IsValid = true; 
    } 
    else { 
     args.IsValid = false; 
    } 
    return; 
} 
+1

Если вы по какой-либо причине поместили gridview в панель, это сломается. Лучше использовать свойство ClientID – Andrei

+0

Спасибо за предложения, я обновил ответ –

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