我有一个模型,其中验证了两个字段,但只有一个是必需的。
我写了以下验证,但它不起作用:
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? }
答案 0 :(得分:1)
看起来你需要一个自定义验证方法,如果两个都是空白的话会添加到错误集合中,但是如果填充了它们则会传递...
def validate
errors.add_to_base "one or other is required" if results.blank? and results_image.blank?
end