Erro ao utilizar h:message para emitir mensagem de erro no componente específico

1 resposta
lessandronp

Ola pessoal, boa tarde.
Estou com problema ao exibir mensagens embaixo dos componentes.
Apenas consigo exibir mensagem com o h:messages.

o h:message não consegue exibir o erro gerado no bean.

Exemplo:
Bean:

else {

FacesContext.getCurrentInstance().addMessage(“iptNome”, new FacesMessage(FacesMessage.SEVERITY_ERROR, “Arquivo maior que o esperado”, “Arquivo maior que o esperado”));

return null;

jspx:

<h:inputText id=“iptNome” styleClass=“editBranco”
value="#{incluirProfessoresForm.nome}" size=“10”
maxlength=“10” />
<a4j:support reRender=“iptNome” />
<h:message showDetail=“true” rendered=“true” />

Recebo a seguinte mensagem no console:
NFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=iptNome[severity=(ERROR 2), summary=(Nome não é válido), detail=(Nome não é válido)]

Já andei pesquisando, mas não encontrei a solução.
Se alguem souber,
agradeço desde já,
Att,
Lessandro

1 Resposta

lessandronp

Olá amigos, para aquelas milhares de pessoas que estão tendo esse problema, ontem eu encontrei uma solução num site americano, que na verdade não estava tratando do problema em si, mas de outro, e vi que o desenvolvedor utilizava isso para retornar a mensagem, então gostaria de compartilhar com todos vocês, segue a dica:

Ao utilizar:

FacesContext.getCurrentInstance().addMessage(iptNome, new FacesMessage(FacesMessage.SEVERITY_ERROR, Arquivo maior que o esperado, Arquivo maior que o esperado));

return null;

deve ser colocado juntamente com o id do componente, o id do form, ficando assim:

FacesContext.getCurrentInstance().addMessage(“formPrincipal:iptNome”, new FacesMessage(FacesMessage.SEVERITY_ERROR, “Arquivo maior que o esperado”, “Arquivo maior que o esperado”));
return null;

Agora a mensagem será exibida com sucesso, e sem ter que realizar renderização com o a4j.
Espero que possa ter ajudado.
Abraços,
Atenciosamente,
Lessandro

Criado 21 de maio de 2009
Ultima resposta 22 de mai. de 2009
Respostas 1
Participantes 1