0

我在数据库中的两个字段中使用 date_select -

<div class="control-group">
   <label class="control-label">
   <%= f.label :date_one %></label>
<div class="controls">
   <%= f.date_select :date_one%>
</div>
</div>

<div class="control-group">
   <label class="control-label">
   <%= f.label :date_two %></label>
<div class="controls">
   <%= f.date_select :date_two%>
</div>
</div>

现在我在这里要做的是,无论选择什么日期,都不date_one应该date_two在选择的日期之前date_one。那可能吗?我该怎么做?是否可以设置某种验证?

谢谢

4

1 回答 1

2

是的,但您应该从服务器开始,以确保将保存有效数据。然后您可以添加客户端验证,有关更多信息,请参阅此问题

好吧,要添加服务器端验证,请在您的模型中执行此操作:

validate :date_two_after_date_one

def date_two_after_date_one
  errors.add :date_two, 'should be after date one' if date_two < date_one
end

在客户端,您将不得不为此使用 JavaScript,粘贴您的form_for调用。

于 2013-07-15T08:29:14.257 回答