Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
TAction sem os parametros do form Boa Tarde a todos! Tenho uma aplicação onde eu preciso redirecionar para um outro forma para validação de algumas informações. Para isso, utilizo uma TAction. Ocorre que, quando o Form principal, tem muitos dados ocorre o erro: Request-URI Too Long The requested URL's length exceeds the capacity limit for this server. Apache/2.4.29 (Ubuntu) Server at 127.0.1.1 Port 80 ...
RT
TAction sem os parametros do form  
Boa Tarde a todos!
Tenho uma aplicação onde eu preciso redirecionar para um outro forma para validação de algumas informações.
Para isso, utilizo uma TAction.
Ocorre que, quando o Form principal, tem muitos dados ocorre o erro:
Request-URI Too Long The requested URL's length exceeds the capacity limit for this server. Apache/2.4.29 (Ubuntu) Server at 127.0.1.1 Port 80


O motivo ficou bem claro, a url fica muito grande dado a quantidade de dados no form principal.
Ocorre que eu só preciso enviar 3 informações.
Então, a minha pergunta é:
Existe uma forma para redirecionar para um outro form e para uma determinada função de alguma forma que não passe todos os dados do form ou, que estes parâmetros possam ser editados antes do envio para evitar o erro?
Os dados que eu preciso passar são apenas estes:
$redirect_link = []; $redirect_link['ownclass'] = 'PedidoForm'; $redirect_link['static_function'] = 'Finalize'; $redirect_link['id'] = $param['id']; $action = new TAction(array('CheckPass', 'onShow'),$redirect_link);


PS: em formulários com poucos itens, o codigo funciona perfeitamente.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (3)


NR

Mostre como você usa o TAction posteriormente. Ex:
  1. <?php
  2. $this->form->addAction('Label'$action...
  3. ?>
RT

Ok!
Obrigado!
Segue o Bloco:
if (TSession::getValue('Empresa')->pedido_exige_senha_vendedor_p_finalizar != 'Sim') { $tt_param['finalizador_id'] = TSession::getValue('userid'); $tt_param['nome_finalizador'] = TSession::getValue('username'); $tt_param['id'] = $param['id']; $action = new TAction(array(__CLASS__, 'Finalize'),$tt_param); } else { //$redirect_link = []; $redirect_link['ownclass'] = 'PedidoForm'; $redirect_link['static_function'] = 'Finalize'; $redirect_link['id'] = $param['id']; $action = new TAction(array('CheckPass', 'onShow'),$redirect_link); } new TQuestion('Confirma a finalização do pedido?', $action);
NR

Testei aqui e não ocorreu o problema mencionado:
  1. <?php
  2. $action = new TAction(array($this'teste'),['id'=>123]);
  3. ?>

O TAction envia somente o parâmetro 'id'.

Confirme que as variáveis $tt_param e $redirect_link não tenham conteúdo anterior.

Outra coisa, está usando qual versão do framework?