Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luan_alves

[Resolvido] Jquery validate com campo dinamico

Recommended Posts

Boa tarde á todos!

 

Estou enfrando o seguinte problema.

Tenho um formulário, onde o usuário pode ir adicionando campos nele, dinamicamente. O problema é que o jquery validate é carregado antes destes campos, então ele não faz a validação dos mesmos.

 

Como todos os campos são iguais, então o name deles estão com "[]" e no validate eu faço a validação "nome[]".

Já tentei chamar novamente o validate, a cada campo adicionado, mas não obtive êxito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... só instancie o validate então no momento do submit do form.

 

Creio que assim funcionará.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... só instancie o validate então no momento do submit do form.

 

Creio que assim funcionará.

 

Esta desta forma mesmo, porém se ele der algum erro, ele já estará instanciado, então a validação de um futuro campo adicional, não será validado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta seu código amigão ! :thumbsup:/>

 

function cadastroChamados() {
   $j("#contentMeio #formOcorrencia #contentAtendimento #formFaleConosco ul #btConfirmaTrocaSenha a").click(function() {
       var prazo = $j('#contentMeio #formOcorrencia #contentAtendimento #formFaleConosco ul #listaGarantia .guardaInputT select option:selected').attr('prazoValor');
       if (prazo == '0') {
           dialog('Esta garantia não tem prazo', false);
           return false;
       } else {
           validateForm();
       }
   });
}
function validateForm() {
   $j('#contentMeio #formOcorrencia').validate({
      /* onsubmit: true,
       onkeydown: false,
       onkeyup: false,
       onfocusin: false,
       onfocusout: false,*/
       rules: {
           tipoAssunto: {
               required: true
           },
           classificacao: {
               required: true
           },
           garantia: {
               required: true
           },
           tituloOcorrencia: {
               required: true
           },
           mensagemOcorrencia: {
               required: true
           },
           "tituloProblema[]": {
               required: true
           },
           'mensagemProblema[]': {
               required: true
           },
           "usoGarantia[]": {
               required: true
           },
           "reincidencia[]": {
               required: true
           }
       },
       highlight: function(element, errorClass) {
           if (element.tagName == "INPUT") {
               $j(element).addClass('error');
           } else if (element.tagName == "SELECT") {
               $j(element).parent().parent().addClass('error');
           } else if (element.tagName == "TEXTAREA") {
               $j(element).addClass('error');
           }
       },
       errorPlacement: function(error, element) {
           return true;
       },
       unhighlight: function(element, errorClass, validClass) {
           if (element.tagName == "INPUT") {
               $j(element).removeClass('error');
           } else if (element.tagName == "SELECT") {
               $j(element).parent().parent().removeClass('error')
           } else if (element.tagName == "TEXTAREA") {
               $j(element).removeClass('error')
           }
       },
       submitHandler: function(form) {
           // dados do empreendimento
           var empreend_sel = $j('#guardaDireitaTopo #guardaEmpreendimentos div#seuEmpreendimento div #uniform-empreendimentoSel #empreendimentoSel option:selected');
           var bloco = empreend_sel.attr('bloco');
           var empreendimento = empreend_sel.attr('id');
           var unidade_adquirida = empreend_sel.attr('unidade_adquirida');
           var unidade = empreend_sel.attr('idunidades');
           var dados = $j(form).serialize();
           $j.ajax({
               type: "POST",
               url: '../model/cadastroProblema.php',
               data: {
                   dados: dados,
                   bloco: bloco,
                   empreendimento: empreendimento,
                   unidade_adquirida: unidade_adquirida,
                   unidade: unidade
               },
               success: function(data)
               {
                   console.log(data)
               }
           });
           return false;
       }
   });
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.