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 :
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
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(); } }
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 :
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); *} * * }
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.
Partager