Olá,
Tentei usar o HibernateValidator 4 p/ validar um double com a anotação @Min, sem sucesso obviamente pela tipagem que ela valida, mas como tava seguinda a apostila do curso FJ-28, achei que podia ta fazendo alguma cagada… e pesquisei por horas a fio sem achar nada descente sobre o HibernateValidator validar double.
Bom, resolvi mudar a propriedade que eu tinha como Double p/ BigDecimal e usar a anotacao @DecimalMin, conforme o Guia de Referencia do Hibernate:
http://docs.jboss.org/hibernate/validator/4.0.1/reference/en/html/validator-usingvalidator.html#validator-defineconstraints-builtin
“
The annotated element must be a number whose value must be higher or equal to the specified minimum. The parameter value is the string representation of the min value according to the BigDecimal string representation.
”
import java.math.BigDecimal;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.DecimalMin;
import org.hibernate.validator.constraints.NotEmpty;
@Entity
public class Produto {
@Id
@GeneratedValue
private Long id;
@NotEmpty(message = "{campo.obrigatorio}")
private String nome;
@NotEmpty(message = "{campo.obrigatorio}")
private String descricao;
@DecimalMin(value="0.01", message = "{campo.maiorQueZero}")
private BigDecimal preco;
// getters e setter
}
Até ai tudo ok, não da erro mas também não valida… :evil: , lembrando que o atributo Nome e Descrição estão validando certinho… meu problema é apenas com o raio do Preço.
Alguem poderia me dizer se falta algo para ser configurado neste caso ? Ou de que forma eu poderia estar validando BigDecimals ?
Li também sobre uma integração ORM configurada no hibernate.cfg.xml, mas não sei até que ponto estou “invandindo” coisas que o próprio VRaptor já controla na parte de Validação.
Alguem tem alguma luz?
Att