Tenho uma aplicação em que tem um fluxo de páginas para cadastro de uma entidade
Para validação estou usando Hibernate validator, vi na documentação do vraptor que para validar usando o hibernate validator é só fazer isso:
validator.validade(entidade);
Só que eu não queria validar toda a entidade só alguns campos.
Como faria?
faz sentido pra vc salvar uma entidade meio válida?
a idéia de usar o Hibernate Validator é justamente o seu objeto estar sempre totalmente válidos.
dá pra fazer o que vc quer, mas não vai ficar muito bonito, não tem nenhum jeito melhor?
[]'s
Salvar não, mas é porque na minha aplicação eu possui um fluxo de páginas, por isso que quero validar uma parte da entidade em uma página e outra parte na outra, só depois salva-la toda…isso é possível só com o hibernate validator ou terei que usar as validações do vraptor?!
crie uma classe parecida com essa:
https://github.com/caelum/vraptor/blob/master/vraptor-core/src/main/java/br/com/caelum/vraptor/validator/HibernateValidator3.java
não precisa implementar BeanValidator, mas vc deve anotá-la com @Component.
no método validate, receba um varargs de String com os nomes das propriedades que vc quer validar
no for dos invalid values só adicione erro se value.getPropertyPath() for a que vc passou
receba essa classe nova no construtor do seu controller, e na validação faça:
validator.addAll(seuValidator.validate(bean, "nome", "endereço", "email"));