AM
Problemas com THidden
Boa tarde pessoal,
Possuo um campo THidden no formulario, mas o mesmo está mostrando o valor dele no formulário.
Este valor não deveria estar oculto?
Figura em anexo.
Qual o problema amigos?
Possuo um campo THidden no formulario, mas o mesmo está mostrando o valor dele no formulário.
Este valor não deveria estar oculto?
Figura em anexo.
$grupo_id = new THidden('id_grupo');
$grupo_id = TSession::getValue('idgrupo');
$this->form->addFields([$grupo_id]);
Qual o problema amigos?
Você está atribuindo o valor da sessão à mesma variável que continha o THidden. Acredito que você queira usar a função setValue:
Vlew Nataniel, obrigado pela ajuda!
Nataniel,
Funcionou o campo THidden, ele não aparece no formulario.
Porém, da forma que vc passou ele não consegue atribuir o valor da variavel TSession::getValue('idgrupo') ao campo THidden, retorna um valor null.
Como posso resolver isso?
Nataniel, veja o código do PedidoForm.
Na Action onSave não mudou nada, é somente gravar na tabela de pedidos no campo id_grupo o valor de $id_grupo do Form.
O campo id_grupo no banco de dados é um campo que não aceita valor NULL, e ele está dando erro após a mudança na gravação.
Resolvido!
Após pesquisar bastante, vi que parece haver um problema com o THidden quando usado com funções publicas,
então o problema foi contornado da seguinte maneira:
Na Action onSave redefino o valor do campo direto no objeto $data->id_grupo = TSession::getValue('idgrupo').
Vlew pessoal.
Alan, por questões de segurança é melhor fazer direto no onSave mesmo, para evitar que o usuário manipule os valores dos hiddens.
Mas não há nenhum problema com o THidden. O que devia estar ocorrendo era que o valor setado na função __construct era sobrescrito na função onEdit.
Show Nataniel, vlew amigo.