Contribuição - VRaptor3 - Improved Validator Messages.  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

Bom pessoal, pra quem usa o validator do VRaptor, pra checagem server side, e gostaria de uma forma de verificar pontualmente se houve erros por exemplo no nome, na cidade, ou outro campo qualquer, ou gostaria de exibir as mensagem de forma separada ao lado dos campos, segue um componente que modifiquei do VRaptor.

Primeiro a forma de uso



Esse exemplo renderizado, quando digita-se um login < que 3 caracters, e quando erra a confirmação de senha.





O modo antigo ainda funciona, e a lista antiga também pode ser acessada


Agora segue o código, é só

This message was edited 1 time. Last update was at 01/03/2010 08:55:11


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
candidosales
HelloWorld

Membro desde: 19/07/2010 12:48:27
Mensagens: 11
Offline

Lavieri,

Estou utilizando a validação em que você criou, e estava dando tudo certo, até o momento em que atualizei o Vraptor 3.1.0 para o Vraptor 3.1.3.

Está parecendo o erro na linha 2 ( super(result,factory,outjector); ) da classe ImprovedValidator.

Ele indica que o construtor é inválido, dessa forma não consigo inicializar meu projeto, mostrando este erro:

Você pode me dizer o que devo fazer para manter o vraptor 3.1.3 e sua classe improvedValidator funcionando?

Abraço.
Deus nos acompanhe sempre.

This message was edited 1 time. Last update was at 19/07/2010 15:56:35

[MSN]
garcia-jj
JWizard

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

Entraram novosa parametros no construtor do DefaultValidator. Você deve alterar o construtor da sua subclasse para atender a nova assinatura do DefaultValidator. A assinatura atual é:


http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
candidosales
HelloWorld

Membro desde: 19/07/2010 12:48:27
Mensagens: 11
Offline

Coloquei os novos parametros, olha:

E o erro ainda permaneceu, veja:

Pensei até que fosse a inclusão da lib "hibernate-validator-3.1.ga", mas não é, pois já a inclui e mantém o erro.

O que acha que possa ser o problema?

Obrigado pela ajuda.

Abraço.
Deus nos acompanhe sempre.

This message was edited 1 time. Last update was at 19/07/2010 15:57:16

[MSN]
garcia-jj
JWizard

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

Muito estranho. Quais os jars você tem no /WEB-INF/lib?

Além disso, você pode editar seu primeiro post e remover parte do stacktrace, pois quase trava meu navegador.

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
candidosales
HelloWorld

Membro desde: 19/07/2010 12:48:27
Mensagens: 11
Offline

São estes:

o que acha?

OBS: Nesta imagem se encontra o VRaptor 3.1.0, pois estou trabalhando no momento, sendo que todas as outras libs são da versão 3.1.3 do VRaptor.
[MSN]
garcia-jj
JWizard

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

Analisei bem isso e não achei nada que pudesse causar esse erro. Até porque quando o Vraptor não encontra nenhuma implementação da JSR303 nem Hibernate Validator é usado uma implementação vazia.

Vou fazer mais uns testes e te aviso.

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
candidosales
HelloWorld

Membro desde: 19/07/2010 12:48:27
Mensagens: 11
Offline

É por isso que achei estranho...

Eu só fiz substituir o jar do VRaptor 3.1.0 para o 3.1.3 e surgiu o erro.

=/

Aguardo alguma solução. Obrigado.

Abraço.
[MSN]
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

Aqui esta funcionando sem problemas com o VRaptor 3.1.3 ... segue o código completo


This message was edited 1 time. Last update was at 26/07/2010 08:56:56


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
candidosales
HelloWorld

Membro desde: 19/07/2010 12:48:27
Mensagens: 11
Offline

Lavieri,

Coloquei os mesmo parâmetros no construtor, segue o código:

Quando fui executar, apareceu este erro:

O que poderá ser? =/

Obrigado!
Deus nos acompanhe sempre.
[MSN]
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

Unsatisfied dependency expressed through constructor argument with index 4 of type [java.util.List]: : No matching bean of type [br.com.caelum.vraptor.validator.BeanValidator] found for dependency [collection of br.com.caelum.vraptor.validator.BeanValidator]: expected at least 1 bean which qualifies as autowire candidate for this dependency.


Ele esta reclamando que o index 4 (ou seja, o 5º argumento do construtor) que é List<BeanValidator> beanValidators não satisfaz a dependência, como você pode ver abaixo, o quinto argumento é este.



Isso quer dizer que vc não tem nenhum BEAN VALIDATOR registrado, como dependência.... esta faltando isso... ate se vc não usar esse validator modificado, o mesmo erro acontecerá.


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
garcia-jj
JWizard

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

Esse erro está muito estranho, até porque não existe como não ter uma implementação de validator. Sempre é retornada uma implementação, e caso não encontrar nem o Hibernate Validator nem a JSR303 é retornado um NullValidator. Eu analisei esse erro e tentei reproduzir em meu ambiente sem sucesso.

candidosales, você compilou o Vraptor ou pegou o binário distribuído pelo site do Vraptor? Você não possui algum outro jar do Vraptor no classopath da aplicação ou do appserver? Você possui algum outro componente customizado?

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
candidosales
HelloWorld

Membro desde: 19/07/2010 12:48:27
Mensagens: 11
Offline

Como faço para registrar o BEAN VALIDATOR como dependência?
[MSN]
garcia-jj
JWizard

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

candidosales wrote:Como faço para registrar o BEAN VALIDATOR como dependência?


Basta você ter ou o Hibernate Validator ou algum provider de JPA que implemente a JSR303 (Hibernate 3.5 ou Eclipselink 2x).

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
candidosales
HelloWorld

Membro desde: 19/07/2010 12:48:27
Mensagens: 11
Offline

Desculpem pela minha ignorância, mas tenho algumas dúvidas

1° A forma como substitui os jars do Vraptor pode está errada, foi da seguinte forma...fui até a pasta WebContent\WEB-INF\lib e peguei o jar vraptor-3.1.0 e substituí pelo vraptor-3.1.3. Eu fiz algo de errado? Ou tem outro método para substituição desta jar?

Basta você ter ou o Hibernate Validator ou algum provider de JPA que implemente a JSR303 (Hibernate 3.5 ou Eclipselink 2x).
Você quis dizer que devo ter na minha lib o hibernate-validator-3.5, é isso? Se for, eu coloquei o hibernate-validator-4.1.0.Final


O código da Classe ImprovedValidator:

A minha lib:

Mesmo com a lib do hibernate-validator, o construtor da Classe feito como o do Lavieri, ocorreu este erro:

Alguma pista da solução?! =/
[MSN]
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team