如何检查日期是否有效?

时间:2013-09-19 20:21:23

标签: ruby-on-rails ruby

我的代码如下:

if f.thisyear.blank? &&  Date.new(Date.today.year, f.birthday.month, f.birthday.mday ).valid_date?
  f.update_attribute :thisyear, Date.new(Date.today.year, f.birthday.month, f.birthday.mday )
end

在第一行中,我使用以下方法检查有效日期:

Date.new(Date.today.year, f.birthday.month, f.birthday.mday ).valid_date?

这会引发错误:

`new': invalid date (ArgumentError)

如何编写代码以避免此问题?

1 个答案:

答案 0 :(得分:13)

Date::valid_date?方法,因此不是

Date.new(Date.today.year, f.birthday.month, f.birthday.mday).valid_date?

使用

Date.valid_date?(Date.today.year, f.birthday.month, f.birthday.mday)