模型验证 - 必须至少具有两个属性中的一个

时间:2013-04-12 12:47:03

标签: ruby-on-rails validation model

我有一个模型,其中验证了两个字段,但只有一个是必需的。

我写了以下验证,但它不起作用:

  validates_presence_of :results, :on => :update, :if => Proc.new { |order| order.results_image? }
  validates_presence_of :results_image, :on => :update, :if => Proc.new { |order| order.results? }

1 个答案:

答案 0 :(得分:1)

看起来你需要一个自定义验证方法,如果两个都是空白的话会添加到错误集合中,但是如果填充了它们则会传递...

def validate 
    errors.add_to_base "one or other is required" if results.blank? and results_image.blank? 
end