VRaptor 3 + HibernateValidator ( Double / BigDecimal ) [RESOLVIDO]

4 respostas
guivirtuoso

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 ?

Att,

4 Respostas

guivirtuoso

Li ontem 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.

http://docs.jboss.org/hibernate/validator/4.1/reference/en-US/html/validator-checkconstraints.html#validator-checkconstraints-orm-hibernateevent

Alguem tem alguma luz?

guivirtuoso

Sr. Moderador, acredito que este tópico esteja deslocado.
Para tanto, postei o mesmo tópico em “Ferramentas, Frameworks e Utilitários” e gostaria que este tópico fosse apagado.

Obrigado!

Lucas_Cavalcanti

guivirtuoso, com quais valores vc está testando para ver a validação?

guivirtuoso

Bom Dia Lucas,

Quando você me questionou quais valores eu estava testando, parece que tomei um soco no estomago… :lol:

Estava testando o campo vazio :oops:

Ao validar o campo preenchido com 0.00 ele validou certinho, ai p/ prevenir o vazio coloquei a anottation @NotNull e deu tudo certo :wink:

....
@NotNull(message = "{campo.obrigatorio}")
	@DecimalMin(value="0.01", message = "{campo.maiorQueZero}")
	private BigDecimal preco;
...

De qualquer forma Obrigado!

Criado 20 de setembro de 2011
Ultima resposta 20 de set. de 2011
Respostas 4
Participantes 2