View Javadoc
1   package model.validation;
2   
3   import javax.validation.Constraint;
4   import javax.validation.Payload;
5   import javax.validation.constraints.Email;
6   import javax.validation.constraints.Size;
7   import java.lang.annotation.*;
8   
9   /**
10   * L'email deve avere un formato valido
11   */
12  @Size(max=255)
13  @Email(regexp = "^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\" +
14          "x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9" +
15          "](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9" +
16          "]|[1-9]?[0-9]))\\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\\x01-" +
17          "\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$") //lol
18  @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER,
19          ElementType.ANNOTATION_TYPE})
20  @Retention(RetentionPolicy.RUNTIME)
21  @Constraint(validatedBy = {})
22  @Documented
23  public @interface EmailFormat {
24      String message() default "Formato email non valido";
25  
26      Class<?>[] groups() default {};
27  
28      Class<? extends Payload>[] payload() default {};
29  }