Grails 覆盖默认的电子邮件验证
Posted
技术标签:
【中文标题】Grails 覆盖默认的电子邮件验证【英文标题】:Grails override default email validation 【发布时间】:2015-11-06 18:48:30 【问题描述】:我发现 grails 验证也会拒绝某些有效的电子邮件地址。我在github上开了一个问题here
有没有办法覆盖 grails 中的默认电子邮件验证,以便我可以为此编写自己的验证器?
编辑
我通过在 BuildConfig.groovy 中添加最新版本的 apache commons 验证器解决了这个问题:
compile "commons-validator:commons-validator:1.4.1"
但我仍将保留这个问题,因为我仍然想知道如何覆盖默认的 grails 电子邮件验证器。我希望它以某种方式在我使用了这样一些约束的域类中:
emailId(email:true,nullable:false)
我不应该在域类中更改这个email:true
。这应该在某处被覆盖,以便 email:true
约束使用我的逻辑来验证电子邮件 ID。
【问题讨论】:
您可以在这里查看zorched.net/2008/01/25/…。这不会覆盖默认的电子邮件验证器,但您可以创建一个新的并使用它来代替默认的。 @AshrafPurno 我知道。这样我们就不能使用 emailId(email:true,nullable:false) 我需要一种方法,这样我就不必更改域类约束。 【参考方案1】:删除email
约束并改用matches
。我把正则表达式留给你:)
https://grails.github.io/grails-doc/latest/ref/Constraints/matches.html
【讨论】:
查看编辑。我不想更改域类约束。我只是希望他们通过覆盖来表现我想要的方式。以上是关于Grails 覆盖默认的电子邮件验证的主要内容,如果未能解决你的问题,请参考以下文章
Grails / Spring Security - 注册电子邮件未解锁帐户