模型驗證錯誤我有一個虛擬屬性加入救援
class Mytimeperiod < ActiveRecord::Base
validates presence of :from_dt
validates_format_of :from_dt, :with => /\A\d{2}\/\d{2}\/\d{4}\Z/, :message => "format is mm/dd/yyyy"
def from_dt
self.from_date.strftime("%m/%d/%Y") if !self.from_date.blank?
end
def from_dt=(from_dt)
self.from_date = Date.parse(from_dt)
rescue
self.errors.add_to_base("invalid from dt")
end
end
我使用<%= f.error_messages %>
到在窗體上顯示的錯誤信息下面的模型。
我正在使用from_dt作爲虛擬屬性(字符串)。在表單上顯示'存在'和'格式'驗證錯誤,但是當用戶在表單上輸入無效日期格式並且Date.Parse引發異常時,我在挽救條款中有一個'errors.add_to_base'語句。任何人都可以告訴我爲什麼當我禁用'格式'驗證時,這個錯誤不會出現在表單錯誤消息中。
謝謝。
由於方法'def'被認爲是該塊的'begin',因此不需要開始塊。你可以在'irb'中測試。 – 2010-04-06 22:57:06
啊,我想你是對的。 – 2010-04-07 02:24:40