Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Estou com dúvida no curso de JSF 2: Conversão e validação de dados.

Eu estou começando com JSF agora e sempre trabalhei com Spring MVC, por isso gostaria de saber se o JSF tem algum mecanismo de validação e data-binding padrão como o do Spring.

Tipo, no Spring eu defino um dataBinder que é usado para todas as requisições, com os PropertyEditors de cada classe para formatar e converter, não é necessário fazer isso em todas as views, é muito mais prático.

Também as mensagens de validação são padronizadas e utilizam internacionalização (i18n), com um arquivo texto só para mensagens. O JSF também aceita i18n para mensagens de validação?

To começando a desanimar de JSF, muito verboso...

2 respostas
solução!

Sim, inclusive de maneira parecida, vc declara seu i18n no faces-config e no caso do data-binding vc declara no web.xml, caso vc não tenha encontrado um exemplo ou maneira de fazer avisa que vejo se acho um projeto pra te enviar.

Muito obrigado amigão. Encontrei uma forma de fazer a conversão e formatação dos java beans utilizando a annotation @FacesConverter(forClass=classe.do.javabean) em uma classe que será o conversor (Se for JEE < 6 tem que configurar no faces-config). Essa classe deve implementar javax.faces.convert.Converter e os métodos getObject para formatação e getString para conversão. Depois é só fazer as validações na construção do objeto e, se der algum erro, o método getString adiciona a mensagem no FacesContext.

Agora vou procurar como fazer o i18n no faces-config e personalizar as mensagens, abração.