The .rules()
method of jQuery Validation accepts any selector, you can add class
or attribute role
to your inputs and from deletes to remove / remove the validations from the val of your radiobox
as in the example below.
HTML:
<form>
<input type="radio" value="fisica">Física
<input type="radio" value="juridica">Jurídica
</form>
JavaScript:
function setPessoaFisicaValidation() {
/*antes de setar validação de pessoa física removo da jurídica*/
$('.juridica').rules("remove", "required");
/*seta validação da pessoa física*/
$('.fisica').rules("add", {
required: true
});
}
function setPessoaJuridicaValidation() {
/*faz o mesmo da fisica só que inverso >D*/
$('.fisica').rules("remove", "required");
/*seta validação da pessoa juridica*/
$('.juridica').rules("add", {
required: true
});
}
$(document).ready(function () {
/*você pode pegar o evento de change do seu radio*/
$('input[type="radio"]').change(function () {
/*e a partir da opção chama o método para setar a regra de validação :D*/
if ($(this).val() == 'fisica')
setPessoaFisicaValidation();
else
setPessoaJuridicaValidation();
});
});