2

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

我只想写一个验证来确保停止日期大于开始日期,所以你不能提交从 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 %>
4

1 回答 1

4

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

validate :stop_date


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

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

于 2013-06-06T03:13:18.763 回答