【发布时间】:2014-03-27 04:26:05
【问题描述】:
在 Rails 中,我们可以做到 uniqueness:true。但是,对于像 Google 这样的电子邮件服务提供商,可能有:
myemail+123@gmail.com
my.email@gmail.com
myemail@gmail.com
所有这些实际上都是一封电子邮件。有什么方法(除了使用Regex进行检查)在这里进行检查吗?
【问题讨论】:
-
我想我仍然会使用正则表达式。如果我可以问,你为什么不想使用它?
-
好吧,我认为会有一些图书馆可以做到这一点。显然设计也不会检查直到这个唯一性级别。
-
我不知道,但你可能是对的。不过,这个用例似乎有点棘手,我不确定您是否真的希望您的应用程序足够灵活,以将上述电子邮件地址识别为相同的地址。如果您的正则表达式不完美,您可能会打开一个安全漏洞。
-
一开始为什么要这样做?仅仅因为 GMail 像这样拆分了他们可能的邮件地址,这并不排除与另一个提供商类似的地址可能确实属于不同的人。
-
嗯,这有很多原因。但就我而言,用户只能使用一封电子邮件并多次注册。您可能会说电子邮件确认等,但这对我的情况来说有点过头了。
标签: ruby-on-rails-4 email-validation