【问题标题】:Model Validation - Must have at least one of two attributes模型验证 - 必须至少具有两个属性之一
【发布时间】:2013-04-12 12:47:02
【问题描述】:

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

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

  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? }

【问题讨论】:

  • “它不工作”是您能告诉我们的最没有帮助的事情。它在做什么?你期望它做什么?您是否收到任何错误消息?
  • 没有信息表明出现问题,让此消息显示在要填写的字段上。

标签: ruby-on-rails validation model


【解决方案1】:

看起来您需要一个自定义验证方法,如果两者都为空白,则添加到错误集合中,但如果其中一个被填充则通过...

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 2018-01-01
    • 2017-04-05
    • 1970-01-01
    • 2017-09-01
    相关资源
    最近更新 更多