【问题标题】:Email validation changed upgrading from grails 2.0.0 to 2.4.3电子邮件验证从 grails 2.0.0 升级到 2.4.3
【发布时间】:2015-03-08 04:13:51
【问题描述】:
我的项目最近将 grails 从 2.0.0 升级到了 2.4.3。在域对象中,我使用电子邮件验证约束。我在测试中注意到带有虚假 tld 的电子邮件,例如“fake@fakedomain.tld”现在被认为是无效的。 Grails 文档说它使用 Apache Commons EmailValidation 类来进行验证。该文档明确指出doesn't check for valid tlds。
有没有其他人看到过这个问题,如果有,有没有简单的解决方法?我在允许无效 tlds 的自定义验证器或一起删除约束之间徘徊。
【问题讨论】:
标签:
grails
email-validation
【解决方案1】:
Grails v2.4.3 使用的新 Commons Vaidator v1.4.0 似乎有一个未解决的错误VALIDATOR-338,其中电子邮件地址中的未知 TLD 无效。这只影响 1.4 而不是 Grails 2.0.0 使用的 1.3.1。
目前最快的方法是实现自定义验证器。您甚至可以使用自定义正则表达式(其中有很多 examples)。