Hibernate @email验证失败

时间:2012-04-07 11:18:54

标签: javascript email gwt hibernate-validator

我使用hibernate验证注释@Email对GWT客户端验证有问题。我把这个注释放在实体getter上,当我检查约束违规时(我把这封电子邮件发送到:test @ test),而不是我收到错误消息“不是格式正确的电子邮件地址”。但是当我在服务器端测试时,这个电子邮件地址通过了。你有谁这个问题吗?

3 个答案:

答案 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

告诉我结果。