在我的代碼:如何驗證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
。
在我的代碼:如何驗證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
。
在模式中加入這一行: -
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
它不工作,有什麼我必須在視圖頁面 – Jack 2014-10-01 07:01:49
試加更新後的帖子。 – 2014-10-01 07:25:38
不工作,因爲你給了田非標準名稱。請避免使用駝峯和重構這樣的:
<%= 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
看一看定製驗證在軌引導 – Richlewis 2014-10-01 06:40:56