【问题标题】:Rails: time_select helper validation on previous given time?Rails:在前一个给定时间的 time_select 助手验证?
【发布时间】:2014-04-27 05:31:25
【问题描述】:

我想知道 Rails time_select 是否有内置功能,可以处理我的 end_time 的有效范围。

我有start_timeend_timeend_time 不允许“小于”start_time

<%= f.time_select :start_time, {minute_step: 15}%>

我怎样才能意识到这一点?

感谢您的帮助。

【问题讨论】:

  • 这里是否已经定义了start_time,还是它们都是从同一个表单创建的?
  • start_time 和 end_time 都是一种形式,默认范围为 0:00 到 23:00,步长为 15 分钟。

标签: ruby-on-rails validation time simple-form


【解决方案1】:

您似乎无法通过time_select 指定范围。选项是使用基于 start_time 值的 javascript 削减 end_time 范围并添加自定义验证以提高可靠性:http://guides.rubyonrails.org/active_record_validations.html#custom-methods

def end_time_validity
  if end_time < start_time
    errors.add(:end_time, "can't be before start time")
  end
end

【讨论】:

  • 好的,谢谢。我将尝试使用自定义 javascript 来“隐藏”它们。我希望 Rails 有一种开箱即用的优雅方式来处理这个问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多