【发布时间】:2011-04-14 20:50:10
【问题描述】:
我有这个模型:
class Campaign
include Mongoid::Document
include Mongoid::Timestamps
field :name, :type => String
field :subdomain, :type => String
field :intro, :type => String
field :body, :type => String
field :emails, :type => Array
end
现在我想验证emails 数组中的每封电子邮件的格式是否正确。我阅读了 Mongoid 和 ActiveModel::Validations 文档,但没有找到如何执行此操作。
你能给我一个指针吗?
【问题讨论】:
-
请注意,“验证”电子邮件地址有多种含义:您可以粗略地通过使用简单的正则表达式来确定地址格式是否正确,如答案所示,但是没有正则表达式可以涵盖电子邮件规范允许的所有极端情况。您还可以通过向该地址发送电子邮件来验证地址是否有效,如果已发送,则该地址被视为有效。这是这样做的首选方式,因为尽管电子邮件可能在语法上是正确的,但它可能不是“活着的”。
-
同意。除了关于“没有正则表达式可以涵盖电子邮件规范允许的所有极端情况”的部分......这不是真的。这是一个普通的正则表达式,但它是可行的。
标签: ruby-on-rails ruby ruby-on-rails-3 mongodb mongoid