alterar propriedades de componente dinamicamente boa tarde galera, estou tentando alterar os dados de um componente dinamicamente eis a class ...
AS
alterar propriedades de componente dinamicamente  
Fechado
boa tarde galera, estou tentando alterar os dados de um componente dinamicamente eis a class


 
  1. <?php
  2. class frmCliente extends TStandardForm{
  3. protected $form;
  4. protected $note;
  5. protected $panel;
  6. protected $cnpj;
  7. protected $inscricao;
  8. function __construct()
  9. {
  10. parent::__construct();
  11. parent::setDatabase("mysql");
  12. parent::setActiveRecord("Cliente");
  13. User::checaLogin('convidado');
  14. $this->note = new TNotebook(700, 400);
  15. $this->panel = new TPanel(800,600);
  16. $this->form = new TQuickForm("Cliente");
  17. 691 = new THidden('id');
  18. $nome = new TEntry('razaoSocial');
  19. $responsavel = new TEntry('responsavel');
  20. $rua = new TEntry('rua');
  21. $numero = new TEntry('numero');
  22. $bairro = new TEntry('bairro');
  23. $cep = new TEntry('cep');
  24. $cidade = new TEntry('cidade');
  25. $uf = new TEntry('uf');
  26. $telefone = new TEntry('telefone');
  27. $tipo = new TCombo('tipo');
  28. $itens = array(
  29. 'fisico' => 'fisico',
  30. 'juridico' => 'juridico'
  31. );
  32. $tipo->addItems($itens);
  33. $campos = new TAction(array($this, 'validaCliente'));
  34. $tipo->setChangeAction($campos);
  35. $this->cnpj = new TEntry('cnpj');
  36. $this->inscricao = new TEntry('incricaoEstadual');
  37. $this->inscricao->setEditable(FALSE);
  38. $email = new TEntry('email');
  39. //cep
  40. $buscaCep = new TAction(array($this, 'onSearch'));
  41. $cep->setExitAction($buscaCep);
  42. $telefone->setMask('(99)9999-9999');
  43. $cep->setMask('99999-999');
  44. //validação
  45. $this->inscricao->addValidation('inscricao Estatudal',new TNumericValidator);
  46. $nome->addValidation('nome',new TRequiredValidator);
  47. $responsavel->addValidation('sobrenome',new TRequiredValidator);
  48. $rua->addValidation('rua',new TRequiredValidator);
  49. $bairro->addValidation('bairro',new TRequiredValidator);
  50. $cidade->addValidation('cidade',new TRequiredValidator);
  51. $uf->addValidation('uf',new TRequiredValidator);
  52. $telefone->addValidation('telefone',new TRequiredValidator);
  53. $email->addValidation('email', new TEmailValidator());
  54. $this->form->addQuickField('',691,50);
  55. $this->form->addQuickField('Nome::',$nome,200);
  56. $this->form->addQuickField('Responsavel:',$responsavel,200);
  57. $this->form->addQuickField('CNPJ / CPF:',$this->cnpj,200);
  58. $this->form->addQuickField('Cliente: ',$tipo,200);
  59. $this->form->addQuickField('Inscrição Estadual:',$this->inscricao,200);
  60. $this->form->addQuickField('Cep:',$cep,100);
  61. $this->form->addQuickField('Rua:',$rua,400);
  62. $this->form->addQuickField('Numero:', $numero,30);
  63. $this->form->addQuickField('Bairro:',$bairro,200);
  64. $this->form->addQuickField('Cidade:',$cidade,200);
  65. $this->form->addQuickField('UF:',$uf,30);
  66. $this->form->addQuickField('Telefone:',$telefone,200);
  67. $this->form->addQuickField('E-mail:',$email,200);
  68. $this->form->addQuickAction("Save",new TAction(array($this,"onSave")),"ico_save.png");
  69. $this->form->addQuickAction("Novo",new TAction(array($this,"onEdit")),"ico_new.png");
  70. $this->form->addQuickAction("Listar",new TAction(array("ClienteView","onReload")),"ico_datagrid.gif");
  71. $this->note->appendPage('Controle de Cliente',$this->form);
  72. $this->panel->put($this->note,200, 10);
  73. parent::add($this->panel);
  74. }
  75. /**
  76. * onSearch()
  77. * @param string $param 'cep'
  78. */
  79. public function onSearch($param){
  80. $obj = new StdClass;
  81. $buscaCep = new TCepProgs($param['cep']);
  82. $obj->rua = $buscaCep->getRua();
  83. $obj->cidade = $buscaCep->getCidade();
  84. $obj->bairro = $buscaCep->getBairro();
  85. $obj->uf = $buscaCep->getUf();
  86. TForm::sendData('Cliente', $obj);
  87. }
  88. public function validaCliente($param){
  89. if($param['tipo'] == 'juridico'){
  90. $this->cnpj->addValidation('cpf',new TCNPJValidator());
  91. $this->cnpj->setMask('99.999.999/9999-99');
  92. $this->inscricao->setEditable(TRUE);
  93. }
  94. else{
  95. $this->cnpj->addValidation('cpf',new TCPFValidator());
  96. $this->cnpj->setMask('999.999.999-99');
  97. $this->inscricao->setEditable(FALSE);
  98. }
  99. }
  100. }
  101. ?>


quando chamo a função validaCliente, nada acontece
alguem tem uma ideia de cmo fazer?

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 (3)


ES

Olá Alexandre!
Para o seu caso específico sugiro que leia o artigo "Adicionando Validações em Formulários Dinâmicos" de Guilherme faht, que trata justamente desse assunto e posso garantir, por experiência própria que ainda é a melhor solução para esse caso.

Segue o link:
www.adianti.com.br/forum/pt/view_661?adicionando-validacoes-em-formu
FC

 
  1. <?php
  2. function show()
  3. {
  4. $this->validaCliente();
  5. parent::show();
  6. }
  7. ?>


como havia te dito acredito que tenha que reinderizar a page de novo acho que é assim não testei....
FC

Alexandre da uma olhada nesse tópico.

https://groups.google.com/forum/#!topic/adianti-tools-pt/aAMNHXvI77E