【问题标题】:Rails 4 How Do You Make 'date_select' Form Field Helper Required?Rails 4 如何使“date_select”表单字段帮助器成为必需?
【发布时间】:2015-05-12 20:58:48
【问题描述】:

我一直在尝试在我的 Rails 4 应用程序中使用这个 date_select 表单字段助手,但我没有成功。

  <div class="field">
    <%= f.label :birthday, "Your Date of Birth" %><br />
    <%= f.date_select :birthday, order: [:month, :day, :year], prompt: { day: 'Select day', month: 'Select month', year: 'Select year' }, start_year: Date.today.year - 18, end_year: Date.today.year - 100 %>
  </div>

我已经使用 (:required => true) 成功完成了文本和密码字段,例如:

  <div class="field">
    <%= f.label :password_confirmation %><br />
    <%= f.password_field :password_confirmation, autocomplete: "off", :required => true %>
  </div>

但我无法将所需的参数设置转换为 date_select 表单字段。我试过 :required => true 和 required: true ,但没​​有成功。我一直无法在 Google 和 StackOverflow 上找到有关此主题的任何答案。

如果表单提交的信息为零,我真的很想与提供生日数据的用户一起解决这个问题,而不是设置默认日期。

非常感谢您的宝贵时间。

瑞兹

【问题讨论】:

  • 我已经解决了 jQuery 验证的类似问题:jqueryvalidation.org
  • 谢谢你的小费,乔。构建我的应用程序时会引用它。

标签: ruby-on-rails forms


【解决方案1】:

所需的是一个 html 选项,因此它是与其他选项分开的哈希值。使用花括号将第一个哈希括起来,以便在第二个哈希中清楚地显示所需的内容。

<%= f.date_select :birthday, {order: [:month, :day, :year], prompt: { day: 'Select day', month: 'Select month', year: 'Select year' }, start_year: Date.today.year - 18, end_year: Date.today.year - 100}, {required: true} %>

【讨论】:

  • 非常感谢您的帮助,史蒂夫。我不知道应用花括号将是成功的门票!
  • 当您开始放置键值对时(例如,键 order: 和值 [:month, :day, :year] 给出 order: [:month, :day, :year])假定该条目以及所有后续键/值条目都是相同的哈希因此不需要用于定义散列的花括号。但是,如果您需要传入两个哈希值,那么您需要明确哪些键/值属于哪个哈希值。
  • 就我而言,{required: true} 不能用大括号括起来。
  • @V-SHY 为什么不呢?
  • 在我的情况下,如果包裹在大括号中,它不能接受所需的 html 选项
猜你喜欢
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 2023-01-23
  • 2013-07-01
  • 2018-06-12
  • 1970-01-01
相关资源
最近更新 更多