2011-06-19 11 views
0

"start"と "end"の2つのフィールドは、どちらも日付です。スケジューリングモデルのカスタムバリデーターを書きたいと思います。バリデーターは、startがbefore endの前にあるかどうかを調べ、その後、その日付が以前に選択されたかどうかを調べるための照会を行います。私は1つのフィールドのためにそれを行う方法を知っていますが、2つのフィールドが関わっているとき、私は失われました。Rails 3カスタム検証の質問:日付の検証

助けがあれば助かります。

+0

のような便利なバリデータのトンを提供します。このvalidates timeliness

はvalidates_timelinessの宝石を発見しました – John

答えて

0

アウト

validates_date :date_of_birth :before => lambda { 18.years.ago }, 
          :before_message => "must be at least 18 years old" 

    validates_time :breakfast_time, :on_or_after => '6:00am', 
           :on_or_after_message => 'must be after opening time', 
           :before => :second_breakfast_time, 
           :allow_nil => true 

    validates_datetime :appointment_date, :before => lambda { 1.week.from_now }