Rails - 如何验证一个字段与另一个字段的日期

时间:2013-06-06 03:03:00

标签: ruby-on-rails

我认为这是一个简单的问题。在我的应用程序中,我有一个模型,用户在提交新记录时选择“开始”日期和“停止”日期。日期只是年份,不包括月份和日期。

我只是想编写一个验证来确保停止日期大于开始日期,因此您无法提交从2012年开始并在2008年结束的内容。我该怎么做?

我的表单字段如下:

<%= select_year Date.today, start_year: Time.now.year, end_year: Time.now.year - 95, field_name: :start %>

<%= select_year Date.today, start_year: Time.now.year, end_year: Time.now.year - 95, field_name: :stop %>

1 个答案:

答案 0 :(得分:3)

如果要进行服务器端验证,可以向模型添加验证

validate :stop_date


def stop_date
  errors.add(:stop, "stop date cannot be older than start date") if stop < end
end

您可以在视图上填充错误。