我有一个名为visit_time的字段,其中包含两个不同的值。他们是" AM"和" PM"
我通过以下验证语法检查visit_time的存在。
validates_presence_of :visit_time,
message: "visit time is required"
然后我只需要在visit_time存在的情况下检查包含验证,为此我使用Proc。但它没有用。
validates :visit_time,
:inclusion => { :in => [ 'AM', 'PM'],
:message => "%{value} is not a valid time" },
:if => Proc.new { |o| o.errors.empty? }
让我知道它有什么不对。 Proc
不适用于包含???提前谢谢。
答案 0 :(得分:1)
如果您希望包含验证仅在其存在时运行,则应将Proc更改为此:
if: Proc.new { |o| o.visit_time.present? }