【问题标题】:Rails - uniqueness of emailRails - 电子邮件的唯一性
【发布时间】: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


【解决方案1】:

@ 符号之前的部分称为local-part,每个与电子邮件相关的 RFC 都将其定义为不透明值,即邮箱标识符。例如RFC-5322:

本地部分是与域相关的字符串。在地址中, 它在特定主机上被简单地解释为一个名称 特定邮箱。

如果您要实现标签和点的这种自定义处理,您将违反 RFC。这绝不是一个好主意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 2015-03-02
    • 2021-08-22
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    相关资源
    最近更新 更多