我有一个使用simple_form创建的表单,表单中的一个字段是日期时间。我想限制它,以便用户只能选择截止日期之后的日期,这样他们就无法创建过去的记录。
我已尝试使用验证进行此操作,但我只想限制表单选项。我将小时范围限制在我想要的范围内,但几天都找不到类似的东西。
活动表格
<%= simple_form_for @event do |f| %>
<%-# Form input fields -%>
<%= f.input :name, label: 'Title' %>
<%= f.input :event_date, minute_step: 15, start_hour: 7, end_hour: 21 %>
<%= f.input :body %>
<%= f.submit 'Submit' , :class => "btn btn-primary" %>
<% end %>
答案 0 :(得分:5)
对于Rails 4:
对于rails 4,date_field
助手可以同时接受min
和max
值。
您可以使用它来设置所需的值范围。所以,你会有类似的东西:
<%= f.date_field : event_date, min: Date.today %>
获取有关此内容的更多信息
旧回答:
您可以指定:start_year
选项,如the documentation此处所示:
:start_year - 设置年份选择的开始年份。如果您要创建新记录,则默认为Date.today.year - 5。在编辑现有记录时,:start_year默认为当前所选年份减去5。
因此,在这种情况下,您需要做的是将:start_year
指定为当前年份。
希望这能回答你的问题。