【问题标题】:validate array mongoid and ruby on rails在 Rails 上验证数组 mongoid 和 ruby
【发布时间】:2012-03-02 09:37:15
【问题描述】:

我在模型 Invitation 中有一个字段和属性,例如:

field :recipients, :type => Array

我的控制器中有一个包含 4 封电子邮件的数组,例如:

@invitation.recipients = ['', '', '', '']

我想在我的模型中验证每个数组的值是否与电子邮件正则表达式匹配,例如:

validates_format_of :recipients, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/u, :message => "is not a valid email address"

如何在 mongoid 中验证数组的正则表达式?

【问题讨论】:

    标签: ruby-on-rails ruby arrays mongoid


    【解决方案1】:

    怎么样:

    RE = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/u
    validate :recipients_format
    def recipients_format
      unless recipients.all? { |r| r =~ RE }
        errors[:recipients] = "are not all valid email addresses"
      end
    end
    

    【讨论】:

    • 谢谢@clyfe,这段代码在控制器还是在模型中?是否可以使用此代码添加方法 before_save 回调?谢谢
    • 它进入模型。不知道第二个短语是什么意思。
    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多