验证 Rails 中的日期时间

发布于 2024-11-09 04:06:45 字数 164 浏览 0 评论 0原文

我正在尝试验证两个日期字段。我想验证第二个字段始终是相同的日期或第一个字段之后的任何日期。

例如,如果 date1 是 22/05/2011,则 date2 不能是 20/05/2011。

我正在使用 ruby​​ on Rails 3.0.7,并且我正在尝试在模型级别执行此操作。

I am trying to validate two date fields. I want to validate that the second field is always the same date or any date after the first one.

Example if date1 is 22/05/2011 date2 can not be 20/05/2011.

I am using ruby on rails 3.0.7, and I am trying to do this at the model level.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ら栖息 2024-11-16 04:06:45

a.) 有一个应用程序可以用于

gem "validates_date_time", :git => "git://github.com/sofatutor/validates_date_time", :branch => 'rails-3'

b.) 我实际上没有使用该 gem,因为我在 gem 之前找到了这个方便的模型方法

class KeyPerson < ActiveRecord::Base

validate :started_at_is_date?

private

def started_at_is_date?
   if !started_at.is_a?(Date)
     errors.add(:started_at, 'must be a valid date') 
   end
  end
  end

,其中 :started_at 是列的名称。对于动态方法名称处理来说,这对你来说是一点点红宝石魔法/混乱

a.) there's an app for that

gem "validates_date_time", :git => "git://github.com/sofatutor/validates_date_time", :branch => 'rails-3'

b.) I'm actually not using that gem because I found this handy model method before the gem

class KeyPerson < ActiveRecord::Base

validate :started_at_is_date?

private

def started_at_is_date?
   if !started_at.is_a?(Date)
     errors.add(:started_at, 'must be a valid date') 
   end
  end
  end

where :started_at is the column's name. That's a little bit of ruby magic/chaos for you with the dynamic method name handling thing

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文