我使用hibernate验证注释@Email对GWT客户端验证有问题。我把这个注释放在实体getter上,当我检查约束违规时(我把这封电子邮件发送到:test @ test),而不是我收到错误消息“不是格式正确的电子邮件地址”。但是当我在服务器端测试时,这个电子邮件地址通过了。你有谁这个问题吗?
答案 0 :(得分:9)
作为解决方法,使用Pattern注释:
@Pattern(regexp ="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.(?:[a-zA-Z]{2,6})$")
答案 1 :(得分:3)
Hibernate Validator提供的EmailValidator
实现使用java.util.regex.Pattern
来验证输入字符串。由于GWT将Java代码交叉编译为Javascript,因此它仅支持JS级RegEx
,因此不允许使用java.util.regex.Pattern
。
因此,如果您看到GWT重新实施EmailValidator
,您会发现特定的验证程序未得到实施/支持:http://grepcode.com/file/repo1.maven.org/maven2/com.google.gwt/gwt-user/2.4.0/org/hibernate/validator/constraints/impl/EmailValidator.java?av=h
答案 2 :(得分:0)
尝试使用以下邮件:
test@test.test
告诉我结果。