2011-05-22 119 views
6

我想验证两个日期字段。我想验证第二个字段总是与第一个字段相同的日期或任何日期。在rails中验证日期时间

举例如果date1是22/05/2011 date2不能是20/05/2011。

我在轨道3.0.7上使用红宝石,我试图在模型级别做到这一点。

回答

3

一)有针对

gem "validates_date_time", :git => "git://github.com/sofatutor/validates_date_time", :branch => 'rails-3' 

B中的应用程序)实际上我。不使用那个宝石,因为我发现这个方便的模型方法之前的宝石

class KeyPerson < ActiveRecord::Base 

validate :started_at_is_date? 

private 

def started_at_is_date? 
    if !started_at.is_a?(Date) 
    errors.add(:started_at, 'must be a valid date') 
    end 
    end 
    end 

其中:started_at是该列的名称。这是一个有点动态的方法名称处理的事情的红宝石魔术/混乱

+0

贷款给这个方法的鲜为人知的'Irog'(SO) – 2012-08-18 03:28:09