我的项目最近将grails从2.0.0升级到2.4.3。在域对象中,我使用的是电子邮件验证约束。我注意到在测试中,带有假tlds的电子邮件,例如'fake@fakedomain.tld'现在被视为无效。 Grails文档说它正在使用Apache Commons EmailValidation类来进行验证。该文档明确指出它为doesn't check for valid tlds。
有没有其他人看过这个问题,如果有的话,有一个简单的解决方法吗?我在一个自定义验证器之间,它允许无效的tlds或一起删除约束。
答案 0 :(得分:1)
Grails v2.4.3使用的新Commons Vaidator v1.4.0似乎有一个开放的错误VALIDATOR-338,其中电子邮件地址中的未知TLD无效。这仅影响1.4而不是1.3.1 Grails 2.0.0使用。
最快的路线是现在实现自定义验证器。您甚至可以使用自定义正则表达式(其中有许多examples)。