[RESOLVIDO] VRaptor 3 - Substituição da classe Hibernate do validator por BeanValidator

Olá. Tenho uma perguntinha bem básica sobre o validator do VRaptor.

A classe br.com.caelum.vraptor.validator.Hibernate foi depreciada no VRaptor 3.1.2. Em lugar dela a interface br.com.caelum.vraptor.validator.BeanValidator deve ser utilizada. No entanto, como é que eu consigo uma instância do BeanValidator? Ela é injetada de alguma forma?

Abraços.

com o jar do HibernateValidator no classpath, vc pode fazer diretamente no Validator:

validator.validate(objeto);
validator.onErrorUse(...).....;

[quote=Lucas Cavalcanti]com o jar do HibernateValidator no classpath, vc pode fazer diretamente no Validator:

validator.validate(objeto); validator.onErrorUse(...).....; [/quote]

A minha dúvida é exatamente como é que eu consigo uma instância do validator.
Na classe depreciada Hibernate, o método validate é estático. Já no BeanValidator, é um método de instância.
Pergunto isso porque estou em um projeto que usava o VRaptor 3.1.1, e quando migramos para o 3.1.2 surgiu warnings deprecated.

vc vai receber uma instancia do Validator (não do BeanValidator) no Construtor da sua classe…

assim como vc já deve fazer com o Result…

@Resource
public class MeuController {
    private Validator validator;
    public MeuController(...., Validator validator) {
          this.validator = validator;
    }

    public void minhaLogica(Algo algo) {
         validator.validate(algo);
         validator.onErrorUse(logic()).forwardTo(UmController.class).umaLogica();
    }
}

o import é br.com.caelum.vraptor.Validator

Obrigado pela resposta, Lucas. Agora está ficando mais claro. No entanto ainda não sei ainda como implementar.
No meu código tenho isso:

this.validator.checking(new Validations() {{ and(Hibernate.validate(user)); }});

Isso ficaria assim?

this.validator.checking(new Validations() {{ and(ClasseExterna.this.validator.validate(user)); }});

Ou seria simplesmente assim?

Ou não é nenhum desses dois?

simplesmente

this.validator.validate(user);

Valeu Lucas. Muito obrigado. :slight_smile:

Lucas, eu estava viajando essa semana e não acompanhei nada no fórum nem no github. Já foi feita a documentação sobre o novo validator? Caso contrário posso agilizar isso, aliás é minha obrigação, né? :oops:

Abraços

só tem documentação do novo validator no changelog mesmo… =/

se vc puder fazer a doc, eu agradeço imensamente =)

Lucas, a caravana tarda mas não falha :twisted:

Atualizei os docs em inglês e português, e os commits estão como de praxe no meu fork do Vraptor: http://github.com/garcia-jj/vraptor/commit/68838f98833478f21ff5a2de9b990ba2fa529580

(update) O mais engraçado é que no site do Hibernate sumiram-se todas as referências ao Hibernate Validator 3.x. Há somente agora a implementação da JSR303. Tomara que tenham perdido os fontes desse projeto, hahahaha. (brincadeira)

Além disso fiz um outro doc sobre as dependências, um pouco mais completo que aquele txt que já tem no /lib. Vou te mandar logo, pois ainda estou aprendendo essa sintaxe que é usado nos arquivos de doc.

Abraços