我搜索验证用户出生日期的解决方案,例如,如果用户尝试仅提交日期和月份但他没有选择年份,日期将无效,但如果未设置年份,rails 不会显示任何异常或错误例如,但他跳过日期,日期不会更新
我找到了一些关于这个主题的旧答案,对我来说似乎还不清楚。(注意我在我看来使用date_select助手)
我已经搜索了有关日期验证的信息,但我正在寻找一个有效的最新解决方案
我会感谢任何建议。谢谢你
我搜索验证用户出生日期的解决方案,例如,如果用户尝试仅提交日期和月份但他没有选择年份,日期将无效,但如果未设置年份,rails 不会显示任何异常或错误例如,但他跳过日期,日期不会更新
我找到了一些关于这个主题的旧答案,对我来说似乎还不清楚。(注意我在我看来使用date_select助手)
我已经搜索了有关日期验证的信息,但我正在寻找一个有效的最新解决方案
我会感谢任何建议。谢谢你
如果日期无效,DateTime.parse(..) 将引发错误:
[1] pry(main)> DateTime.parse("Feb 31, 2013")
ArgumentError: invalid date
from (pry):1:in `parse'
[2] pry(main)> e = begin; DateTime.parse("Feb 31, 2013"); rescue => e; e; end
=> #<ArgumentError: invalid date>
因此,只需捕获错误以检查有效日期:
def valid_date?(string)
begin
DateTime.parse(string)
return true
rescue => e
return false
end
end