segunda-feira, 27 de agosto de 2012

Como validar um ASP:CheckBoxList - Client Side

Uma coisa com a qual todos nós nos deparamos em algum momento da vida, é a necessidade de validar campos específicos de uma tela, para a maioria dos campos o ASP.NET tem seu RequiredFieldValidator, mas e quando precisamos validar um CheckBoxList?

Se você tentar ou já tentou usar o RequiredFieldValidator, perceberá que ele não só não valida o CheckBoxList como dá erro na sua página. A solução para os seus problemas está aqui:

Primeiro, na sua página, com o  CheckBoxList , insira um CustomValidator:


<asp:CheckBoxList ID="cblExemplo" runat="server" ></asp:CheckBoxList>
<asp:CustomValidator ID="cvlExemplo" runat="server” ClientValidationFunction="ValidarCheckBox" ErrorMessage="Deve ser selecionada pelo menos uma empresa!"></asp:CustomValidator>


Após isso, apenas coloque o javascript abaixo:


function  ValidarCheckBox (source, args) {
var cblExemplo = document.getElementById('<%=  cblExemplo .ClientID %>');
var cblExemploElementos =  cblExemplo.getElementsByTagName("input");
             for (var elemento = 0; elemento  cblExemploElementos.length;  elemento++) {
                  if ( cblExemploElementos[elemento].checked) {
                     args.IsValid = true;
                     return;
                  }
              }
args.IsValid = false;
}

Nenhum comentário:

Postar um comentário