【问题标题】:How would one validate the format of an email field in ActiveRecord? [closed]如何验证 ActiveRecord 中电子邮件字段的格式? [关闭]
【发布时间】:2012-12-09 05:11:45
【问题描述】:

我在 Rails 应用程序中有一个用户模型,它有一个电子邮件字段。是否存在可确保电子邮件格式正确的默认验证?如果不是,我将如何验证该字段?

【问题讨论】:

  • by valid email address 你的意思是电子邮件真的存在,还是符合电子邮件格式?
  • 奇怪的是,它被关闭了。它可能不是很具体,但我在这里看到了一个真正的问题。
  • @sscirrus 好吧,要完全挑剔,他实际上并没有问任何问题。此外,只要求在 SO 上提供代码讲义也不是好行为。一个更合适的问题是“如何编写能够实现 [期望结果] 的代码?”
  • @MichaelDorst 公平点 - 虽然我确实在文本中看到了一个问题,但我同意你的观点,即 SO 不适用于代码讲义。
  • @sscirrus 正如我所说,我很挑剔,但 OP 只是说明他在寻找什么,他没有 一个问题。您也许可以从该陈述中推断一个问题,但 OP 没有明确提出任何问题 - 因此:closed as not a real question。我同意选择这样做的五个人的观点,因为我认为格式错误的问题只会导致格式错误的答案,这对这个社区都没有帮助。

标签: ruby-on-rails rails-activerecord


【解决方案1】:

在你的 gemfile 中添加:

gem 'validates_email_format_of'

在你的模型中:

validates :email, email_format: { message: "doesn't look like an email address" }

或者,如果您不想使用 gem,请使用正则表达式:

validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-04-08
  • 2016-06-24
  • 1970-01-01
  • 1970-01-01
  • 2018-07-31
  • 2011-03-06
  • 2015-10-10
相关资源
最近更新 更多