gpt4 book ai didi

ruby-on-rails - 验证一个字段或另一个字段是否存在 (XOR)

转载 作者:行者123 更新时间:2023-12-03 05:06:41 25 4
gpt4 key购买 nike

如何验证一个或另一个字段的存在,但不能同时验证两个字段和至少一个字段的存在?

最佳答案

如果您将条件添加到数值验证中,您的代码将起作用,如下所示:

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

关于ruby-on-rails - 验证一个字段或另一个字段是否存在 (XOR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com