Vraptor 3.31 + Hibernate Validator - Messages Properties - Internacionalizar  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6404
Offline

valeu! =)

vou tentar corrigir isso antes do próximo release (ou se vc estiver a fim de corrigir e mandar um pull request, vou gostar bastante tb =))

--
Caelum
www.caelum.com.br

rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

Lucas,

Aproveitando o tópico...

Tem como internacionalizar a mensagem do Caelum validator cpf??

coloquei a tag @Cpf(message = {cpf.invalido} ele internacionaliza isso?

Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6404
Offline

teoricamente sim

--
Caelum
www.caelum.com.br

rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

Lucas,




O Vraptor ao chamar o método validate, nem usa o stella validator cpf . Passei um CPF inválido e ele não apontou erros, acredito que não dê pra usar com o método validate.

Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6404
Offline

você está com os jars do hibernate validator 3 ou 4?

se estiver com o 4, use a nova versão do Stella, que foi lançada ontem:
http://repo1.maven.org/maven2/br/com/caelum/stella/caelum-stella-bean-validation/2.0-beta1/caelum-stella-bean-validation-2.0-beta1.jar

e nos dê o feedback se está funcionando, por favor

--
Caelum
www.caelum.com.br

garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

Isso não é um bug do VRaptor não. O padrão do Bean Validator e Hibernate Validator é usar o ValidationMessages.properties.

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

Creio que a versão seja 4.1, ele tá no "BeanValidator" que vêm junto com a lib do glassfish 3.1, vou testar a nova versão do stella ... A propósito, o site estava fora né?

Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

Coloquei o Jar do novo Caelum validator:




Passei essa string como cpf: 123.456.789-00


Depurando eu vi que ele não aponta nenhum erro pro CPF e continua a lógica normal, mesmo passando um cpf inválido

A versão do hibernate validator é a 4.1 que veio com a lib "Bean Validator"


** Tirei a validação do "NotEmpty" e também não funcionou =/

This message was edited 1 time. Last update was at 29/05/2011 11:43:02


Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
mario.fts
GUJ Ranger
[Avatar]

Membro desde: 14/05/2008 09:41:06
Mensagens: 817
Localização: São Paulo - ZL
Offline

oi rafaelob, tudo bem?

Nesse caso que você mostrou, o @NotEmpty funcionou ou nenhum dos dois?

[]'s

Mário Amaral Gonçalves

"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra
[Email]
rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

Olá,

O "NotEmpty" funcionou sim, só comentei que eu retirei ele e deixei só a anotação do Caelum.Stella.Bean.Validator , que não funcionou. As anotações do Hibernate Validator 4.1 , estão funcionando com o método validate(object). Só não consigo que a validação do Caellum Stella funcione, ele simplesmente ignora essa validação.

Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
mario.fts
GUJ Ranger
[Avatar]

Membro desde: 14/05/2008 09:41:06
Mensagens: 817
Localização: São Paulo - ZL
Offline

Oi Rafael

Eu realizei alguns testes aqui e funcionou normal, talvez seja alguma diferença de ambiente que não estamos percebendo.

Criei um projeto no github com o código do teste que realizamos aqui, você pode baixar e rodar pra comparar com o seu ambiente, o link é https://github.com/mariofts/test-vraptor-stella

[]'s

Mário Amaral Gonçalves

"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra
[Email]
rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

Mario,


Mudei do beta1 para o beta2 e funcionou perfeitamente.


Obrigado...

Att,

Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

Comentei já isso lá no Github, mas vou deixar aqui para quem precise. Isso não é um problema do VRaptor porque ele apenas delega ao Bean Validator. O padrão do Bean Validator é que o arquivo esteja no classpath com o nome ValidationMessages.properties e suas variantes. Qualquer implementação do Bean Validator vai procurar nesses locais, e isso não há como mudar.

A meu ver não é legal misturar um arquivo de mensagens da aplicação com o arquivo de mensagens de validação. Mesmo que desse para colocar tudo em um só, não é muito elegante não.

Maaaas... se mesmo assim você quiser, dá para fazer uma gambiarra muuuito feia. Detalhe que isso só funciona se você usar o Hibernate Validator 4 como implementação para Bean Validator, perdendo a portabilidade.

Você deve sobrescrever o componente MessageInterpolatorFactory no método createInterpolator:



Depois crie a classe MyBizarreInterpolator usando a classe ResourceBundleMessageInterpolator como exemplo alterando o local do resource bundle a teu critério.

https://github.com/caelum/vraptor/blob/master/vraptor-core/src/main/java/br/com/caelum/vraptor/validator/MessageInterpolatorFactory.java
http://grepcode.com/file/repository.jboss.org/maven2/org.hibernate/hibernate-validator/4.0.0.CR1/org/hibernate/validator/engine/ResourceBundleMessageInterpolator.java/?v=source

This message was edited 1 time. Last update was at 09/06/2011 22:27:36


http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
rafaelob
JavaBaby
[Avatar]

Membro desde: 01/07/2009 11:21:02
Mensagens: 91
Offline

Aproveitando o tópico, tem alguma maneira de eu internacionalizar uma mensagem do método:

validator.add(new ValidationMessage("{dominio.negado}","{dominio.negado}" )); ou só usando aquela maneira fluente mesmo??



Grato =)

Rafael de Oliveira Bittencourt - Bacharelando em Ciência da Computação- UFBa
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6404
Offline

na última versão é só usar new I18nMessage("categoria", "dominio.negado", parametros); ao invés de ValidationMessage

This message was edited 1 time. Last update was at 09/06/2011 23:20:22


--
Caelum
www.caelum.com.br

 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team