Dúvida em JSF - mensagens aparecendo na hora errada

4 respostas
Z

Fala galera.

To com uma página que possui alguns componentes que são renderizados a partir de um grupo de radios. O cenário é o seguinte:

São 3 radiobutton e cada um deles esta associado a renderização de um novo objeto na página. 2 deles renderizam combos e o outro renderiza uma mensagem em texto. Mas nunca esses componentes são renderizados juntos.
Essa renderização não se da de forma dinâmica. Ao se clicar em algum radio ele chama o ciclo do jsf e muda na bean o valor do atributo de true para false fazendo então com que o componente desejado suma da página.

Meu problema esta no fato de que ao clicar no radiobutton com a intenção de atualizar a interface, todos os campos que são required imprimem na tela a mensagem “este campo é obrigatório” sendo que esta mensagem só deveria ser impressa ao se clicar no botão submit no final da página.

O que devo fazer?
Já setei os campos para immediate=“true” mas até agora não consegui solucionar o problema.

Não consigo fazer com que a interface seja atualizada sem chamar o ciclo do jsf.

Existe uma solução imediata para isto? ou terei de usar ajax/javascript?

att.

Gustavo.

4 Respostas

G

Tenta colocar esses radioButtons em um h:fom separado, assim apenas os componentes envolvidos com o form serão submetidos.

Z

Bem pensado.!
Amanhã dou um feedback.
vlws.

Z

Então,
Realmente a criação de dois forms solucionou o problema só que consegui encontrar uma solução mais elegante.

no método chamado para fazer a operação, incluí ao seu final a chamada FacesContext.getCurrentInstance().renderResponse();
essa chamada faz com que o ciclo jsf seja completado apenas por quem o iniciou.

vlw.

A

zb0:
Então,
Realmente a criação de dois forms solucionou o problema só que consegui encontrar uma solução mais elegante.

no método chamado para fazer a operação, incluí ao seu final a chamada FacesContext.getCurrentInstance().renderResponse();
essa chamada faz com que o ciclo jsf seja completado apenas por quem o iniciou.

vlw.

cara coloquei um post sobre problemas com h:form e nao tive resposta sera que pode me ajudar???

estou usando tiles do struts e em um determinado momento é criado um form dentro do outro e o submit do form interno nao é chamado e sim o do externo (fui claro???) como faço para resolver este problema??

Criado 7 de fevereiro de 2007
Ultima resposta 8 de fev. de 2007
Respostas 4
Participantes 3