我正在尝试使用rails 4方法''date_field'为我的表单设置最大年份值。因为用户似乎可以输入大于4位的年份。
我一直试图像这样使用它,但它似乎没有任何效果。
<%= f.date_field :date, style: "height: 30px", min: Time.now.year , max: Time.now.year + 84 %>
答案 0 :(得分:5)
我就这样做了:
<%= f.date_field :date, min: Date.new(1994, 07, 03), max: Date.today %>
我使用内置的选择器和Ruby的Date类中的方法限制了用户可以放置的最小和最大日期。唯一的问题是这不是动态的。关于验证年份的问题,我相信浏览器会在用户提交表单之前检测到日期类型(例如<input id="user_date" min="1994-07-03" name="user[birthdate]" type="date">
)的输入字段时自动执行此操作。希望这有帮助。
修改:将Date.now
更新为Date.new
。