Hibernate Validator

4 respostas
tiagoemerick

Pessoal,

estou criando um validator personalizado com o hibernate validator e preciso de um recurso que eu não sei se existe...

Tendo a seguinte classe:

@Entity
@Name(value = "usuario")
public class Usuario implements Serializable {

	@MinhaAnnotationValidator(message = "XPTO)
	private String nome;
        @MinhaAnnotationValidator(message = "XPTO2")
	private String email;
}

Na minha tela eu tenho esses dois campos e toda vez que é dado o onblur no campo, a minha classe de validação é chamada.

Pergunta: Tem como, na minha classe de validação, eu saber qual atributo(nome ou email) está sendo validado no momento? Porque a unica coisa que eu recebo do hibernate validator (
public boolean isValid(Object value)
) é o valor digitado em tela.

Abrcss..

4 Respostas

Alexandre_Saudate

Você pode configurar um campo customizado na sua anotação e recuperar esse valor através do método initialize, no Validator.

[]´s

tiagoemerick

Na verdade eu estava querendo evitar isso:

@MinhaAnnotationValidator(message = "XPTO, attributeName="nome") private String nome;

Pensei que já que eu estou anotando um atributo, de alguma forma teria como eu recuperar o mesmo.

Realmente não tem como?

Alexandre_Saudate

Não, não dá… o que você pode fazer, então, é criar anotações separadas para cada caso e usar herança para aplicar a validação personalizada para cada caso.

[]´s

tiagoemerick

blz.

Valeu!!

Criado 7 de junho de 2010
Ultima resposta 7 de jun. de 2010
Respostas 4
Participantes 2