Bonjour,

Je suis en train de développer une application web avec spring mvc/security et hibernate.

Je veux créer custom email validator en utilisant des annotations.

voici l'annotation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE,********* ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {CommonsEmailValidator.class})
@Documented
@ReportAsSingleViolation
public @interface ExEmailValidator {
*
String message() default "******* {org.hibernate.validator.constraints.Email.message}";
*
Class<?>[] groups() default {};
*
Class<? extends Payload>[] payload() default {};
*
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE,********* ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface List {
ExEmailValidator[] value();
}
}
et voici la classe CommonsEmailValidator :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class CommonsEmailValidator implements******** ConstraintValidator<ExEmailValidator, String> {
private static final boolean ALLOW_LOCAL = false;
private EmailValidator realValidator =******** EmailValidator.getInstance(ALLOW_LOCAL);
*
@Override
public void initialize(ExEmailValidator email) {
****// TODO Auto-generated method stub*
}
*
@Override
public boolean isValid(String email, ConstraintValidatorContext******** constraintValidatorContext) {
****if( email == null ) return true;
****return realValidator.isValid(email);
*}
*
*
}
Je clique run on the server mais, quand la page registration.jsp, qui permet l'ajout des utilisateurs, et que l'adresse email est mal formée, j'obtiens l'erreur suivante :

Request processing failed; nested exception is javax.validation.ConstraintViolationException: Validation failed for classes [...] during persist time for groups [javax.validation.groups.Default, ]

Je veux savoir où est ce que je dois ajouter le message d'erreur qui doit être afficher lors de l'insertion d'un email mal formé.

merci d'avance.