Uso do TPageStep Pessoal estou usando o TPageStep e quero trocar de step clicando na etapa, vi que tem como criar uma TAction e vincular ao step, porém ao clicar a página é recarregada com os parâmetros passados nesta TAction, o que pra mim gera um problema pois queria validar se os dados atuais foram preenchidos para trocar para o outro step. Pensando nisto coloquei no TAction o 'static' => '1', daí a tela ...
EA
Uso do TPageStep  
Pessoal estou usando o TPageStep e quero trocar de step clicando na etapa, vi que tem como criar uma TAction e vincular ao step, porém ao clicar a página é recarregada com os parâmetros passados nesta TAction, o que pra mim gera um problema pois queria validar se os dados atuais foram preenchidos para trocar para o outro step.
Pensando nisto coloquei no TAction o 'static' => '1', daí a tela não é recarregada e o meu método é chamado, como não defini o método como static consigo acessar o $this->form, porém ao chamar $this->form->getData() não retorna todos os campos em branco.

Eu queria ao clicar validar se tem algum campo obrigatório não preenchido e avisar antes de trocar de etapa, e ao trocar de etapa deixar visível os campos da etapa e esconder os campos que não são da etapa atual, mas sem ter que recarregar a tela

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


RS

bom dia Edson, estou tentando usar o TPageStep, mas gostaria de saber se achou a soluçõa para recuperar dados dos formúlarios, que compoe o TPageStep.

se esta usando, poderia me mostrar como vocês fez?
ES

Estou utilizando TPageStep nesse momento, criei a lógica abaixo vou postar aqui para ajudar quem precisar novamente.
Eu alimento o TPageStep no __construct a partir de um array.
 
  1. <?php $this->totalArray?>
é onde armazeno a contagem do array.
A função abaixo eu chamo no Action do botão que criei para avançar...
O voltar fiz algo semelhante...
 
  1. <?php
  2. public function avancarStep($param = null)
  3. {
  4. try
  5. {
  6. $dados = $this->form->getData();
  7. $atual = (int) $dados->stepAtual;
  8. $proximo = ($atual+1);
  9. if($proximo < $this->totalArray){
  10. $dados->stepAtual = $proximo;
  11. $this->stepAtualGlobal = $proximo;
  12. $this->form->setData($dados);
  13. $this->step->select("Q " . $proximo);
  14. } else if ($proximo == $this->totalArray){
  15. $dados->stepAtual = $proximo;
  16. $this->stepAtualGlobal = $proximo;
  17. $this->form->setData($dados);
  18. $this->step->select("Q " . $proximo);
  19. $this->btnConcluir->setProperty('style', 'display:flex');
  20. $this->btnAvancar->setProperty('style', 'display:none');
  21. } else {
  22. $this->btnConcluir->setProperty('style', 'display:flex');
  23. $this->btnAvancar->setProperty('style', 'display:none');
  24. $dados->stepAtual = $this->totalArray;
  25. $this->stepAtualGlobal = $this->totalArray;
  26. $this->form->setData($dados);
  27. $this->step->select("Q " . $this->totalArray);
  28. }
  29. }
  30. catch (Exception $e)
  31. {
  32. new TMessage('error', $e->getMessage());
  33. }
  34. }
  35. ?>