Validate checkbox

-1

I'm trying to do with what a form when being sent check that the check box is selected, otherwise it issues a alert asking to select at least one category. The check box field searches for categories in the database. The problem is that when sending the post he gives the message, then we select at least 1 category, and when we try again he gives the same message. While we do not select all of them he does not stop giving the message.

I used the script below in my form:

<script>
function validar(formulario){
 if("['id_categoria']:checked") {
  alert("Selecione uma categoria para prosseguir");   
  return false; 
 }
               if(formulario.estado.value == '0'){
					alert("O campo ESTADO é obrigatório.");
					return false;
				}
								
				if(formulario.cidade.value == '0'){
					alert("O campo CIDADE é obrigatório.");
					return false;
				}
				return true;
			}
</script>  

My Form looks like this:

<form id="formulario" action="dados_anuncio.asp?opc=inserir&id=<%=Request.QueryString("id")%>&idPlano=<%=Request.QueryString("idPlano")%>" method="post" name="form1" onSubmit="return validar(this);">
		          <select name="id_plano" class="list_of_vochers" id="id_plano" >
		            <option value="1">Plano Ouro GRÁTIS</option>
                  </select>
		          Selecione até 5 categorias:
		          <input name="idDoCliente" type="hidden" id="idDoCliente" value="<%=id%>">
<input name="idDoTipo" type="hidden" id="idDoTipo" value="<%=idTipo%>">
<%planoId_1 = Request.QueryString("idPlano")%>
<%Set csTipo = Server.CreateObject("ADODB.Recordset")
csTipo.Open "SELECT * FROM categorias_profissionais where id_tipo = "&planoId_1&" order by nome asc", Conexao%>
<ul class="checklist" id="convenios2">
  <% While NOT csTipo.EoF %><li> 
    &nbsp;&nbsp;&nbsp;<label for="id_categoria"><input id="id_categoria" name="id_categoria" type="checkbox" value="<% = csTipo("id") %>" onclick="verificar()"/>&nbsp;&nbsp;&nbsp;<% = csTipo("nome") %></label>
   </li><% csTipo.MoveNext %>
  <% Wend %>
  
  <li class="par">
  </ul>
<br>
                  Caso não encontre sua categoria, digite-a no campo abaixo:
                  <input name="outro" type="text"  id="outro" placeholder="Caso não tenha sua categoria acima digite aqui." />
                  <select name="estado" class="list_of_vochers" id="estado"  onChange="combo('#estado','#cidade','combo_subcategorias.asp')">
                    <option value="0" selected>Selecione o Estado</option>
                    <%
While (not csEstado.EOF)
%>
                    <option value="<%=(csEstado.Fields.Item("id").Value)%>"><%=(csEstado.Fields.Item("uf").Value)%> - <%=(csEstado.Fields.Item("nome").Value)%></option>
                    <%
  csEstado.MoveNext()
  Wend
%>
                  </select>
                  <select name="cidade" class="list_of_vochers" id="cidade" >
                    <option value="0">Selecione sua Cidade</option>
                  
                  </select>
Descrição do Anúncio
<% planoId = Request.QueryString("idPlano")
if planoId = 1 then%>
<textarea name="descricao" id="descricao" type="text" placeholder="Exemplo Profissional: Sou profissional especializado em acabamentos em porcelanato com experiência de 10 anos atuando em obras residenciais e comerciais. Tenho um ótimo custo benefício, qualidade e compromisso com prazos."></textarea>
<%else%>
<textarea name="descricao" id="descricao" type="text" placeholder="Exemplo Fornecedor: Somos uma loja de materiais de construção e estamos a mais de 15 anos no mercado fornecendo diversas linhas de materiais e produtos para todos os tipos de obras. Nossos preços são competitivos e nossos produtos são de qualidade."></textarea>
<%end if%>
		          <div id="outline">
		            <p>
		              <iframe width='100%' height='340px' frameborder='0' src='upload1.asp?idCliente=<%=Request.QueryString("id")%>' scrolling="no"></iframe>
		            </a></p>
		          </div>
<%if planoId = 2 then%> <h6>DADOS DE LOCALIZAÇÃO DO FORNECEDOR</h6><br>
                    <input name="logradouro" type="text" class="form-control" id="logradouro" placeholder="Logradouro, número" />
                    <input name="bairro" type="text" class="form-control" id="bairro" placeholder="Bairro" />
                    <input name="cep" type="text" class="form-control" id="cep" placeholder="Cep" onKeyPress="return txtBoxFormat(this, '99.999-999', event);" maxlength="10"/>
                    <%end if%><br>
<button type="submit" class="btn btn-primary btn-sm">Finalizar Cadastro</button>
                  </form>
    
asked by anonymous 06.06.2016 / 22:47

1 answer

0

I've created an example with javascript-only validation, but it's interesting to do a check on the server as well. Here is the example link:

link

    
07.06.2016 / 14:29