【发布时间】:2014-01-27 08:00:35
【问题描述】:
我在网上做了一些搜索,了解如何使用“if”语句和单独定义的方法构建 ActiveRecord 验证。但是,我想知道是否可以简单地将两个验证组合在一起,如果其中一个为真,那么整个事情就通过了。
我想要做的是让用户输入一个联系人字段,该字段可以是电子邮件或电话号码,但不能同时是两者。显然我下面的代码不起作用,但我想知道类似的东西是否可以工作?
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
VALID_PHONE = /\d{10}/
validates :contact, presence: true, format: { with: VALID_EMAIL_REGEX } || presence: true, length: { is: 10 }, format: { with: VALID_PHONE }
【问题讨论】:
标签: ruby-on-rails validation activerecord conditional