2012-07-27 111 views
0

對不起,我在這裏結束了傢伙。Rails正則表達式日期驗證

我有了這個

validates :departing_at, :format => { 
    # 2012-07-14 10:00 am 
    :with => /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}) ([ap]m)$/, 
    :message => "must be date and time" 
    } 

,但它只是不會驗證2012-07-14 10:00或相匹配的正則表達式的任何其他日期格式。

但是,如果我把這個控制器

pattern = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}) ([ap]m)$/ 

if params[:vacation][:departing_at] =~ pattern 
    raise "works" 
else 
    raise params[:vacation][:departing_at].to_yaml 
    raise "doesn't work" 
end 

內它打印出「作品」任何想法的傢伙? :(

+0

不是一個真正的回答你的問題...但我敢肯定有驗證日期和時間比用正則表達式的一個更好的方法 – pcalcao 2012-07-27 13:27:16

+0

啊我。我只是在一邊使用client_side_validations。 – lemon 2012-07-27 13:31:04

回答

0

嘗試這種矯枉過正的正則表達式:

:with => /^(\d{4})\-(\d{2})\-(\d{2})\s(\d{2})\:(\d{2})\s([aApP][mM])$/,