如何验证一个或另一个字段的存在,但不能同时验证两个字段和至少一个字段的存在?
如果您将条件添加到数值验证中,您的代码将起作用,如下所示:
class Transaction < ActiveRecord::Base
validates_presence_of :date
validates_presence_of :name
validates_numericality_of :charge, allow_nil: true
validates_numericality_of :payment, allow_nil: true
validate :charge_xor_payment
private
def charge_xor_payment
return if charge.blank? ^ payment.blank?
errors.add(:base, 'Specify a charge or a payment, not both')
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)