Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, bom dia!!!
Tenho uma pequena dúvida e talvez vocês possam me ajudar.
Tenho um formulário com 5 etapas.
Cada etapa contém alguns inputs e um botão "próximo".
Quando clico no próximo dou um hide nessa div e um show na próxima.
E assim por diante.
Até aí, tudo ok.
Mas, preciso validar essa primeira etapa antes de passar para a próxima.
Com jquery seria fácil.. mas preciso fazer server-side.
E não sei como montar isso no php.. vejam abaixo meu raciocínio, por favor.
<?php
include_once('validacao.class.php'); //classe de validação
function validaEtapa1(){
$validar = new validacao();
$regras['campo1'] = 'obrigatorio|alfa|minCaracter[3]';
$regras['campo2'] = 'obrigatorio|alfa|minCaracter[3]';
$validar->setRegras($regras);
if ($validar->executar() === TRUE) {
echo ("Validou etapa 1!");
}
$validar->mostrarErros();
}
function validaEtapa2(){.........
?>
Acho que a lógica é essa.. mas..
DÚVIDA:
Se alguém achar que a lógica não é certa.. por favor, dê uma dica, ok?
Brigadinha!!
Quando você validar, mande a informação de qual será a próxima validação
Não entendi..
Não consigo chamar a função que valida a etapa, pois o onclick do botão não chama uma função php.
O action do form fica sendo a pag de validação, então o botao "próxima" é do tipo submit.
Ao ser clicado chama a pag de validação, MAS, como passo a informação que deve validar apenas a 1ª etapa??
Será que cada etapa com seu próprio form, não resolve?
Estou tentando pensar em algo também.
>
Será que cada etapa com seu próprio form, não resolve?
Estou tentando pensar em algo também.
Alessandro, no final de tudo os dados do form são enviados por email e gravados no banco.
Portanto, separar as etapas com forms fica inviável pra fazer o envio depois.
Sem contar que seria uma tremenda gambiarra kkkk
Amanda,
Você não pode então dizer qual etapa você está validando?
<button type="submit" name="etapa" value="primeira">Próximo</button>
Ai você consegue pegar os valores e tratar qual função quer chamar. Eu nunca fiz algo assim, estou arriscando aqui com você, rsrs.
Você pode usar ajax ou json? se sim, tenta envia os dados para sua página de validação quando clicar no botão próximo e de acordo com o retorno você passa para o próximo slide ou não, como é mais de uma etapa você também pode incluir um input hidden dizendo qual etapa está sendo enviada e tratar isso na página de validação.
Abraço
Só uma dica, utilize interfaces, deixe totalmente OO. :)
descomplique e procure programar orientado a objetos conforme #8..
quer aprender a fazer ?
Para fazer via etapas, recomendo a utilização de session.
Quando você validar, mande a informação de qual será a próxima validação