在我构建要学习的应用程序中,我想进行条件验证,其中必须至少有两个字段中的一个。
validates :key, presence: :true, if: "key_position.nil?"
validates :key_position, presence: :true, if: "key.nil?"
我关注了rails validation guide,但没有让它发挥作用。
答案 0 :(得分:2)
答案 1 :(得分:1)
您在:
之前有true
,这是错误的:
validates :key, presence: true, unless: 'key_position.blank?'
validates :key_position, presence: true, unless: 'key.blank?'
或
validates :key, presence: true, unless: ->(obj) { obj.key_position.blank? }
validates :key_position, presence: true, unless: ->(obj) { obj.key.blank? }
答案 2 :(得分:0)
试试这个
validates :key, presence: true, unless: :key_position
validates :key_position, presence: true, unless: :key