Alberto, sei que tu tem bastante experiência mas eu não vou concordar contigo até tu me dar um motivo para usar o meu if dentro da classe Produto. No momento, tenho ela dentro de ProdutoValidation, talvez o mais correto seria criar um preco Validation. Vou colar aqui pra tentar ser mais esqpecífico:
public void validate(Object target, Errors erros) {
ValidationUtils.rejectIfEmpty(erros, "titulo", "field.required");
ValidationUtils.rejectIfEmpty(erros, "descricao", "field.required");
Produto produto = (Produto) target;
if(produto.getPaginas() <= 0){
erros.rejectValue("paginas", "field.required");
}
// demais códigos omitidos
ali como parametro recebemos um target correto? Porém e se eu quisesse utilizar o preco justamente para fazer esse if abaixo:
// demais códigos omitidos
if(precos.getTipo().COMBO < precos.getTipo().IMPRESSO){
erros.rejectValue("impresso", "field.required");
}
// demais códigos omitidos
Eu imagino que não seja possível fazer o cast de um parametro duas vezes a depender da classe "chamadora". A melhor solução é criar um PrecoValidation ou existe sim uma possibilidade de fazer aí?
Abraços amigo.