2014-10-01 155 views
0

在我的代碼:如何驗證date_select在軌4.1

<%= form_for(:offer,url=>{:controller=>'offers',:action=>'combo'}) do |f|%>

<%= f.date_select :startDate %>

<%= f.date_select :endDate %>

我在rails.I是新的有兩個字段選擇date.I希望endDate應該大於startDate.So,我如何驗證此endDate

+0

看一看定製驗證在軌引導 – Richlewis 2014-10-01 06:40:56

回答

0

在模式中加入這一行: -

validate :end_date_greater_than_start_date 

def end_date_greater_than_start_date 
    if !endDate.blank? and endDate.to_date < startDate.to_date 
    errors.add(:endDate, "should be greater than start date") 
    end 
end 
+0

它不工作,有什麼我必須在視圖頁面 – Jack 2014-10-01 07:01:49

+0

試加更新後的帖子。 – 2014-10-01 07:25:38

0

不工作,因爲你給了田非標準名稱。請避免使用駝峯和重構這樣的:

<%= f.date_field :start_date %> 

<%= f.date_field :end_date %> 

validate :end_date_greater_than_start_date 

def end_date_greater_than_start_date 
    if start_date && end_date && start_date > end_date 
     errors.add(:to_date, "YOUR ERROR MESSAGE") 
    end 
end