Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Vários Validators para um controller

é possível ter mais de um validador por entidade/controller?

por exemplo eu tenho no sistema uma entidade chamada Orcamento e no meu OrcamentoController eu tenho as actions salvar, emitir e cancelar mas para cada action eu tenho regras de validação diferentes logo eu gostaria de ter um OrcamentoValidator, EmissaoOrcamentoValidator e CancelamentoOrcamentoValidator, isso é possível? como chamar cada validator isoladamente?

2 respostas
solução!

Opa Ricardo, nesse caso, pensando no vraptor, você vai ter que chamar suas regras de validação manualmente dentro do método do controller. Você pode receber o Validator injetado na sua classe de validação e ir invocando os métodos nele, caso as validações forem falhando.

Depois, no seu método do controller, é só verificar se ele tem algum erro.

Ah, uma outra solução, que talvez eu até goste mais :). Você pode criar classes de formulário, como por exemplo OrcamentoForm. Ela vai ter todas as informações do formulário... E aí você criar validações da bean validation customizadas para ela... Dessa forma você pode continuar usando o jeito padrão de validação sugerido pelo vraptor.