Confirmação antes do envio de formulários Neste exemplo, vamos demonstrar como perguntar ao usuário uma confirmação antes da postagem definitiva dos dados do formulário. Neste caso, estamos criando um quick form com dois campos e um botão "Salvar" conectado com o método onSave(). Quando o método onSave() é executado, o usuário é questionado se deseja confirmar. Se sim, então o método confirm() é executado, exibindo os dados d...
PD
Confirmação antes do envio de formulários  
Fechado
Neste exemplo, vamos demonstrar como perguntar ao usuário uma confirmação antes da postagem definitiva dos dados do formulário. Neste caso, estamos criando um quick form com dois campos e um botão "Salvar" conectado com o método onSave(). Quando o método onSave() é executado, o usuário é questionado se deseja confirmar. Se sim, então o método confirm() é executado, exibindo os dados do formulário em uma mensagem de diálogo.

 
  1. <?php
  2. /**
  3. * ConfirmationForm report
  4. *
  5. * @version 1.0
  6. * @package samples
  7. * @subpackage tutor
  8. * @author Pablo Dall'Oglio
  9. * @copyright Copyright (c) 2006-2011 Adianti Solutions Ltd. (http://www.adianti.com.br)
  10. * @license http://www.adianti.com.br/framework-license
  11. */
  12. class ConfirmationFormView extends TPage
  13. {
  14. private $form;
  15. /**
  16. * Class constructor
  17. * Creates the page and the registration form
  18. */
  19. function __construct()
  20. {
  21. parent::__construct();
  22. // create the form using TQuickForm class
  23. $this->form = new TQuickForm;
  24. 405 = new TEntry('id');
  25. $description = new TEntry('description');
  26. $this->form->addQuickField('Id', 405, 40);
  27. $this->form->addQuickField('Description', $description, 200);
  28. $this->form->addQuickAction('Save', new TAction(array($this, 'onSave')), 'ico_save.png');
  29. // add the form to the page
  30. parent::add($this->form);
  31. }
  32. /**
  33. * method onSave()
  34. * Executed whenever the user clicks at the Save button
  35. */
  36. function onSave()
  37. {
  38. try
  39. {
  40. $data = $this->form->getData();
  41. $action1 = new TAction(array($this, 'confirm'));
  42. $action1->setParameter('data', json_encode($data));
  43. $question = new TQuestion('Confirm ?', $action1);
  44. $this->form->setData($data);
  45. }
  46. catch (Exception $e) // in case of exception
  47. {
  48. // shows the exception error message
  49. new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  50. }
  51. }
  52. /**
  53. * Confirm
  54. */
  55. function confirm($param)
  56. {
  57. $object = json_decode($param['data']);
  58. $message = $object->id.'<br>'.
  59. $object->description;
  60. new TMessage('info', $message);
  61. }
  62. }
  63. ?>

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)


EG

No caso de ter dois campos: senha e confirmasenha, como faço para validar (comparar as senhas)?
MA

Pablo, tem uma maneira de chamar um TQuestion de dentro de um metodo para validar a execução de um determinado bloco.
Por exemplo, no meu caso eu tenho um botão no formulário para enviar o mesmo por e-mail, dentro do método que envia o e-mail gostaria de perguntar ao usuário se ele deseja enviar uma cópia para um outro grupo de e-mails.