【问题标题】:Displaying Rails Required Fields Form Errors All At Once一次显示 Rails 必填字段表单错误
【发布时间】:2016-03-20 02:01:02
【问题描述】:

我使用的是 Rails 表单,也使用了 Bootstrap 选项卡。我有 4 个选项卡供用户填写,第 4 个选项卡是提交按钮。我在表单中有许多required: true 字段,当我点击提交按钮时,将这些字段中的任何一个字段留空,弹出“请填写此字段”的弹出窗口。

问题:如何只显示一个包含所有错误消息的框,而不是每次出现一个单独的错误消息?

我已经阅读了许多帖子,并尝试了大多数建议(包括 JS 的建议除外,因为我希望有一个不包括 JS 的强大解决方案)。我在我尝试过的提交按钮下方放置了一些代码,但它没有显示任何内容,因为我认为单个框错误消息会覆盖它。

感谢任何帮助。

_表格:

<%= form_for(@property, html: { multipart: true }) do |p| %>
...

<%= p.file_field :picture, :multiple => true, name: "property_attachments[picture][]", size: 2 %>

<%= p.submit "Submit", class: 'btn btn-primary' %>

<% if @property.errors.any? %>
  <div id="error_explanation">
    <div class="alert alert-danger">
      The form contains <%= pluralize(@property.errors.count, "error") %>.
    </div>
    <ul>
    <% @property.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
    </ul>
  </div>
<% end %>
<% end %>

【问题讨论】:

    标签: forms ruby-on-rails-4


    【解决方案1】:

    想通了,学习了很多关于 Rails Forms 的知识。我在多个字段中使用了required: true,这会在每个错误上一个一个地创建单独的弹出窗口。我删除了所有required: true 字段,然后在模型中添加了验证(例如validates: :price, presence: true),然后我在上面的问题中使用的错误消息显示了任何缺失的字段。

    【讨论】:

      猜你喜欢
      • 2016-07-07
      • 2011-10-08
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      相关资源
      最近更新 更多