微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 在轨道上验证阵列mongoid和ruby

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

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中验证数组的正则表达式?

解决方法

怎么样:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐