Como comparar 2 campos usando JSF? [+RESOLVIDO]

Olá pessoal, sou novo aqui.

Estou com problemas usando JSF, preciso fazer uma validação, e preciso comparar 2 campos do formulário pra que de certo.

Eu ja vi que não posso usar , pois ele só recebe um parâmetro, então a saída é criar um Bean que faça a verificação, certo?

Criei o bendito Bean, coloquei ele em teste, e realmente ele faz a comparação que eu preciso, e impede que o fluxo siga em frente caso a condição que eu preciso não seja atendida, só que agora eu não consigo fazer o feedback.

Quando usamos conseguimos colocar uma mensagem, que é mostrada na tela para que o usuário corrija o erro, mas agora com esse Bean eu não consigo fazer isso.

O Bean tem um método que retorna true ou false, eu consigo pegar esse valor no formulário com um if que compara se ele retornou verdadeiro ou falso (a essa altura o fluxo ja foi parado, eu so preciso fazer a mensagem de erro aparecer), se tudo der certo o fluxo termina, e o usuário é redirecionado pra uma página de sucesso, quero dizer, se retornar true la no método, mas se retornar false, o que eu faço???

A idéia éra usar um <rich:message for…> pra colocar a mensagem de erro na tela, assim como faço com as validações de tamanho de campo excedido, texto em campos numéricos e etc, só que não consigo usar o rich:message dentro do if, só de abrir tag la dentro do if fica tudo cheio de erro.

Como proceder pessoal?

Para mostrar a mensagem:

FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Mensagem", null));

[quote=rafaelsantini]Para mostrar a mensagem:

FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Mensagem", null));

Amigão, boa noite.

Obrigado pela força, mas não resolvi ainda, vc deve ter apostado que eu ia saber me virar a partir daí, bem que gostaria mas sou iniciante mesmo.

Eu coloquei essa linha no método que faz a verificação, coloquei um breakpoint pra ver e realmente o fluxo passa por essa linha, porém a mensagem não aparece na tela. Acredito que não seja o problema, mas o tal método é do tipo boolean, tem ser assim pois ele é usado por outro método que precisa verificar se ele retornar true ou false, mas eu coloquei a linha que vc passou antes do retorno, então não acho que tenha sido o problema.

Olhando no log do Tomcat achei isto

[color=red]INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=cadastro.xhtml[severity=(INFO 0), summary=(Data 2 < Data 1), detail=(Data 2 < Data 1)][/color]

Continue me ajudando por favor, o que posso tentar agora?

EDITANDO--------------->>>>>>>>>

Galera, problema resolvido!

Foi bem o que o rafaelsantini recomendou, só tive que acertar uns detalhes no form, pq tava cheio de <rich: message> ae tava dando uns conflitos.

obrigado!