Ir para conteúdo

POWERED BY:

Arquivado

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

skeith

BootstrapValidator método isValidContainer()

Recommended Posts

Estou desenvolvendo um formulário no estilo wizard (recurso para organização de etapas na instalação de programas) com o BootstrapValidator, um plugin famoso para validação de formulários exclusivo do jQuery.

Atualmente meu formulário possui 5 (cinco) passos. Para me auxiliar no desenvolvimento, o BV (abreviação de BootstrapValidator) disponibiliza a função abaixo:

isValidContainer();

Endereço para o método: http://bootstrapvalidator.com/api/#is-valid-container

 

Com esta função, começei a controlar o formulário da seguinte maneira

$('button.next-step').on('click', function() {
            var nextStep = parseInt($(this).attr('id').replace(/[^0-9]/gi, ''), 10);
            var currentStep = nextStep - 1;
            var bvInstance = $('#fm_registration-holder').data('bootstrapValidator');

            if (bvInstance.isValidContainer('div#step-' + currentStep)) {
                // Procedimentos caso o container for válido
            }
}

Todos os campos que precisariam ser validados no primeiro passo estariam entre a tag:

<div class="row setup-content" id="step-1">
    <!-- campos do primeiro passo do formulário -->
</div>

Porém o BootstrapValidator retorna falso mesmo com os campos corretamente preenchidos. A solução que achei foi utilizar o método revalidateField():

var bvInstance = $('#fm_registration-holder').data('bootstrapValidator');

bvInstance.revalidateField('campo1');
bvInstance.revalidateField('campo2');
bvInstance.revalidateField('campo3');

O único problema é que ao utilizar este, ao prosseguir para o próximo passo, a API valida os próximos campos também, aplicando o CSS sobre os campos validados (bordas e sombras vermelhas por padrão).

Já tentei aplicar outros métodos como updateStatus(), resetForm(), resetForm(true).

updateStatus();

Endereço para o método: http://bootstrapvalidator.com/api/#update-status

resetForm();

Endereço para o método: http://bootstrapvalidator.com/api/#reset-form

 

Após muitas horas estudando o módulo inteiramente e pesquisando por outros formulários semelhantes (wizard-like) acabei não obtendo êxito e recorrendo ao fórum.

Alguma luz? :(

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.