【问题标题】:Required Rails form field does not alert "Please fill out this field"必填 Rails 表单字段不会提醒“请填写此字段”
【发布时间】:2018-01-29 23:28:56
【问题描述】:

我是 Rails 表单的新手,并且有以下表单字段:

    <%= f.label :name, class: "black-text" %>:
    <%= f.text_field :name, class: "white task-card", :required => true %>
    <%= f.label :foo, class: "black-text" %>:
    <% options = [['Option A', 1], ['Option B', 2], ['Option C', 3], ['Option D', 4]] %>
    <%= f.select :foo, options_for_select(options), {}, {:include_blank => true, :required => true, class: "white task-card"} %>

如果留空,文本输入字段将不会前进并正确提醒用户“请填写此字段”,但选择选项不会。如果选择字段保留其默认的空白值,页面将不会前进,因此它会以这种方式工作,但不会提醒用户为什么什么都没有发生。如何使浏览器的标准 HTML5“请不要填写此字段”警报适用于选择字段?

谢谢!

【问题讨论】:

  • 从未找到答案?

标签: ruby-on-rails forms drop-down-menu


【解决方案1】:

您需要另一个散列来提供 html 选项,因为第一个散列(例如,包含 include_blank 选项)用于标记选项:

<% options = [['Option A', 1], ['Option B', 2], ['Option C', 3], ['Option D', 4]] %>
<%= f.select :foo, options_for_select(options), 
    {:include_blank => true, class: "white task-card"}, { :required => true } %>

顺便说一句,我不认为include_blank 选项,因为该字段是必需的

【讨论】:

    【解决方案2】:

    我认为存在语法问题:

    <%= f.select :foo, options_for_select(options), {:include_blank => 
            true, class: "white task-card"}, { :required => true } %>
    

    希望对你有帮助

    【讨论】:

    • 这给了我错误:“参数数量错误(给定 5,预期 1..4)”
    • 没有骰子,但谢谢!我现在更改了表单,而不是默认为空白,而是默认为现有值(它是一个编辑表单)..所以问题没有解决,但解决了。希望我可以为其他没有预选值的表单找到解决方案
    猜你喜欢
    • 1970-01-01
    • 2019-01-04
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-30
    • 1970-01-01
    • 2016-03-31
    相关资源
    最近更新 更多