Mensagens padrão SPRING

4 respostas
Arizoide

Bom dia galera.

Estou com um problema e gostaria de saber se vocês poderiam me ajudar…

Eu fiz um crudzinho utilizando Spring MVC 3, Hibernate, Velocity e Maven.

Na tela de cadastro, existe uma combobox com a relação de anos entre 1900 e o atual.

O value vem como INTEIRO e é armazenado no meu objeto do form.

O problema é quando eu, com o firebug altero o value para um valor string.

Ele me gera a seguinte mensagem na tela: Failed to convert property value of type ‘java.lang.String’ to required type ‘java.lang.Integer’ for property ‘anoLancamento’; nested exception is java.lang.NumberFormatException: For input string: “dasdasd”

Esse erro ocorre por causa da validação por annotation @Valid.

Eu gostaria de saber se eu consigo alterar essa mensagem ‘padrão’ sem ter que mudar a estrutura do código, ou seja, quero que a mensagem seja nova e não fazer uma tratativa no code behind para ter a mensagem certa.

Obrigado desde já.

Atenciosamente,

4 Respostas

darklordkamui

voce tem que ir na anotação, e colocar @valid(message = “mensagem”), assim quando estorar o erro na tela, aparece a mensagem personalizada… agora se vc quer que apareça algo tipo internacionalização vc teria que da uma olhada de como o spring faz isso e aplicar no @valid igual postei a cima…

Uma dica muito boa para você, antes de postar procura no forum se tem algo relacionado ao seu problema…

olha esse topico… acredito que já esclarece a sua duvida…

http://www.guj.com.br/java/32624-internacionalizacao-no-spring

Arizoide

darklordkamui:
voce tem que ir na anotação, e colocar @valid(message = “mensagem”), assim quando estorar o erro na tela, aparece a mensagem personalizada… agora se vc quer que apareça algo tipo internacionalização vc teria que da uma olhada de como o spring faz isso e aplicar no @valid igual postei a cima…

Uma dica muito boa para você, antes de postar procura no forum se tem algo relacionado ao seu problema…

olha esse topico… acredito que já esclarece a sua duvida…

http://www.guj.com.br/java/32624-internacionalizacao-no-spring

Obrigado pela resposta…

O @Valid não aceita message :frowning:

darklordkamui

Arizoide:
darklordkamui:
voce tem que ir na anotação, e colocar @valid(message = “mensagem”), assim quando estorar o erro na tela, aparece a mensagem personalizada… agora se vc quer que apareça algo tipo internacionalização vc teria que da uma olhada de como o spring faz isso e aplicar no @valid igual postei a cima…

Uma dica muito boa para você, antes de postar procura no forum se tem algo relacionado ao seu problema…

olha esse topico… acredito que já esclarece a sua duvida…

http://www.guj.com.br/java/32624-internacionalizacao-no-spring

Obrigado pela resposta…

O @Valid não aceita message :(

percebi isso agora, fiz um exemplo aqui… e me deu erro 500 na tela… vc nao quer que apareça esse erro correto?
e sim fazer um BindException? no campo…

darklordkamui

Acabei de fazer com base nesse exemplo do mkyoung e consegui resolver meu problema…

vé se isso ajuda…

http://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/

caso nao consiga posta aqui algum trecho de codigo, que vou analizando junto com vc…

peço tambem que poste aqui a resolução para pessoas que tiverem o mesmo problema consigam usar como base a sua solução…

Criado 7 de dezembro de 2012
Ultima resposta 7 de dez. de 2012
Respostas 4
Participantes 2