2017-04-22 51 views
0

我正在使用@Pattern進行我的@Email驗證,以將電子郵件地址縮小爲僅三個域和name.lastname用戶名。但是我的代碼失敗並且每次都顯示消息。我究竟做錯了什麼?休眠電子郵件模式對指定域失敗

@Embeddable 
public class Contact 
{ 
    @NotNull 
    @NotEmpty 
    private String    firstname; 
    @NotNull 
    @NotEmpty 
    private String    lastname; 
    @NotNull 
    @NotEmpty 
    @Email 
    @Pattern.List({ @Pattern(regexp = ".+(@domain1.com|@domain-2.com|@dom-ain-three.com)", message = "Wrong email address") }) 
    private String    email; 
} 

回答

0

正確的代碼:

@Embeddable 
public class Contact 
{ 
    @NotNull 
    @NotEmpty 
    private String    firstname; 
    @NotNull 
    @NotEmpty 
    private String    lastname; 
    @NotNull 
    @NotEmpty 
    @Email 
    @Pattern.List({ @Pattern(regexp = ".+((@domain1\\.com)|(@domain-2\\.com)|(@dom-ain-three\\.com))", message = "Wrong email address") }) 
    private String    email; 
} 

擺脫點的字符(意味着除新行的任何字符)固定的正則表達式。