【发布时间】:2010-05-27 18:49:37
【问题描述】:
如果您将无效日期(如 12 月 39 日)分配给日期时间列,ActiveRecord 将返回“不能为空白”错误,此时应该可能返回“无效日期”之类的错误
我的问题。这是预期的 Rails 行为、错误还是我可以修补的东西?
class ExerciseLog < ActiveRecord::Base
validates_presence_of :scheduled_datetime
end
启动控制台。
e = Log.new
# lets set a date for Dec 39th which obviously doesn't exist
e.scheduled_datetime = "2010-12-39"
e.save
=> false
# this is the confusing message since our form did post a valid date
e.errors.on(:scheduled_datetime)
=> "can't be blank"
e.scheduled_datetime = "2010-12-30"
e.save
=> true
当我不小心调换了月份和日期的值时,我发现了这个问题。
顺便说一句,这是在 Rails 2.3.5 中
【问题讨论】:
标签: ruby-on-rails datetime activerecord validation