Duvida jquery validate, obrigando campos apartir de radio selecionado

5 respostas
C

boa tarde a todos, estou fazendo um aplicação que esta toda validada com jquery validate e esta tudo funcionando muito bem, porem agora tenho que fazer uma alteração na area de cadastro de empresa da seguinte forma

no cadastro de empresa o usuario vai ter que selecionar um dos 2 radios se ele selecionar o “radio 1” habilita os campos

campo 1, campo 2 e campo 3

e no “radio 2” esses campos são desabilitados

isso eu consegui fazer, porem eu preciso fazer a validação desses campos tb, porem sei como na validação do jquery validate especificar que estes campos só serão validados caso o “radio 1” esteja selecionado.

sei que é uma duvida bem boba e banal, porem não soube como pesquisar essa minha duvida na net

obrigada

5 Respostas

T

Olá carol-rj

poste um trecho do código seu em que possamos nos basear para te ajudar, talvez o trecho onde é disparado o validate do jquery. na minha mente (que não conhece o seu programa) me parece ser apenas o caso de um IF mas ao pensar nisso, acaba parecendo que eu quero induzir vc a fazer uma POG no seu código.

posta ai algum trecho do seu código que vc acha relevante para podermos te ajudar :smiley:

C
$('#formEmpresa').validate({
        errorLabelContainer: "#listaError",
        errorElement: "li",
        rules:{
            nome:{
                required: true,
                minlenght: 3
            },
            razaoSocial:{
                required: true,
                minlenght: 3
            },
            cnpj:{
                required: true,
                cnpj: true
            },
            valorMinimoFaturamento:{
                required: true,
                number: true
            },
            tipo:{
                required: true
            }
        },
        messages:{
            nome:{
                required: "o campo nome é obrigatorio",
                minlenght: "o campo nome exige mais do que 3 caracters"
            },
            razaoSocial:{
                required: "o campo razao social é obrigatorio",
                minlenght: "o campo razao social exige mais do que 3 caracters"
            },
            cnpj:{
                required: "o campo cnpj é obrigatorio",
                cnpj: "CNPJ inválido, tente novamente"
            },
            inscricaoEstadual:{
                required: "o campo inscricao estadual é obrigatorio"
            },
            tipo:{
                required: "campo tipo Conta é obrigatório"
            }
        }
 
    });
T

Isso resolve?

if( $("#radio_1").is(":checked") ) { $('#formEmpresa').validate(); }
peguei essa solução daqui:
http://jquerybrasil.org/manipulando-checkbox-e-radio-button-com-jquery/

C

não resolve.

isso que vc postou so cria a validação caso o radio seja selecionado, o que eu quero é uma forma de colocar a validação dos campos novos como “valorMinimoFaturamento” para só serem obrigatórios quando o radio seja selecionado ou seja este campo só será obrigatório se o radio for selecionado

T

Acho que sei como resolver carol-rj

tem um atributo chamado depends que vc passa uma função (linhas 8-10) para ele e essa função deve retornar verdadeiro ou falso, caso verdadeiro, a regra de validação é aplicada, caso falso, a regra não se aplica ao campo.

na linha 09 dentro da função atribuída a depends, o que fiz foi apenas retornar se o seu radio está marcado ou não, se estiver marcado, a regra é aplicada ao elemento valorMinimoFaturado, caso contrario, não :smiley:

$('#formEmpresa').validate({  
    errorLabelContainer: "#listaError",  
    errorElement: "li",  
    rules:{  
        valorMinimoFaturamento:{  
            required: true,  
            number: true,
            depends: function(element) {
                return $("#seuRadioButton:checked");
            }  
        }  
    },  
    messages:{    
        tipo:{  
            required: "campo Valor Mínimo Faturado é obrigatório"  
        }  
    }  
});

Só não esquece de mudar o id #seuRadioButton do radio em questão (linha 09) para o id que vc está usando na sua aplicação

Dá uma pesquisada na documentação do plugin validation, lá vc vai aprender bastante :smiley:
http://docs.jquery.com/Plugins/Validation/validate
http://docs.jquery.com/Plugins/Validation

Aaaahh!!!

não esquece de comentar aqui se funcionou ou não blz?! :smiley:

Criado 17 de abril de 2012
Ultima resposta 17 de abr. de 2012
Respostas 5
Participantes 2