我使用@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 :(得分: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;
}
转义点字符(表示除新行之外的任何字符)修复了正则表达式。