如何验证这些值中的一个是否存在,但不是同时存在?

  validates_presence_of :client_id, message: 'Please enter a value'
  validates_presence_of :agency_id, message: 'Please enter a value'

我查看了 rails 指南,我认为我需要使用条件验证,但我仍然有点卡住了。

最佳答案

试试这个

validates :client_id, presence: true, unless: :agency_id
validates :agency_id, presence: true, unless: :client_id

如果要包含错误消息,可以执行
validates :client_id, presence: { message: "Must have a value" }, unless: :agency_id

您可以阅读有关 validation messages 的更多信息

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

10-13 02:14