是否有mongoid或活动模型的日期验证助手?
我想检查有效ISO_8601标准(http://en.wikipedia.org/wiki/ISO_8601#Dates)的日期,这与mongoids validates_format_of
没什么关系。但日期应该是将来或取决于字段> =另一个日期(开始和结束日期)。
我的方法是使用validates_format_of
检查格式,并根据我的进一步要求编写自己的日期验证器。
之前有人这么做过吗?
谢谢, 儒略
答案 0 :(得分:3)
你的方法似乎很好。最好的方法是将验证分解为自己的功能。
你可以这样做:
class Foo
include Mongoid::Document
field :date_time, :type => DateTime
validate :date_is_ok?
def date_is_ok
unless self.date_time.to_i > Time.now.to_i
errors.add :date_time, "must be in the future"
return false
end
true
end
end
答案 1 :(得分:0)
是的,validates_timeliness确实完成了Rails 3.x和ActiveModel的日期,时间和日期时间的验证。
它明确支持Mongoid:
ValidatesTimeliness.setup do |config|
# Extend ORM/ODMs for full support (:active_record, :mongoid).
config.extend_orms = [ :mongoid ]
end