如何在simple_form_for中限制日期字段

时间:2014-08-19 18:18:00

标签: ruby-on-rails simple-form

我在simple_form_for中使用了一个简单的date_field,并且工作正常。我只需要调整它,以便它只显示12年前和之前的日期。 I.E在过去的12年中,没有人能够输入日期。

这是我的代码行。

<%= f.date_field :birthday, start_year: Time.now.year - 100, 
          end_year: Time.now.year-12, :default => @profile.birthday %>

“start_year:”和“end_year”对我没有用(也许我使用它们错了?)。用户仍然可以输入无效日期。

有没有人知道我应该尝试的其他任何事情?

1 个答案:

答案 0 :(得分:1)

在模型中使用验证。

 validates_inclusion_of :birthday, 
   in: Date.civil(1950, 1, 1)..Date.today-14.years,
   message: "Must be between 1950 and 2000 and now"

当然这是一个例子,您可以根据自己的需要设置它。