在simple_form上显示完整消息

时间:2017-05-16 08:39:42

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

我有这个表格

:title

我的示例中的标题字段是必需的。因此,如果我尝试在can't be blank中提交没有任何值的表单,则验证将失败并返回错误消息,如预期的那样。但是我默认获得的错误就是这个simple_form,所以我想知道是否有办法显示验证错误的完整信息(比如不使用The title field can't be blank gem时),如{{1}等等

有没有办法显示完整的消息?

3 个答案:

答案 0 :(得分:1)

不是很干净,但有效:)

<%= simple_form_for :post do |f| %>
  <%= f.error_notification %>
  <%= f.input :title, error: f.object.errors.full_messages_for(:title).to_sentence %>
  <%= f.input :body, error: f.object.errors.full_messages_for(:body).to_sentence %>
  <%= f.button :submit %>
<% end %>

答案 1 :(得分:1)

尝试使用full_error方法,如下所示:

<%= f.input :title, error: f.full_error(:title) %>

答案 2 :(得分:0)

经过检查,我发现您可以全局配置:

<强>配置/初始化/ simple_form.rb

SimpleForm.setup do |config|
  config.wrappers :default, class: :input,
    hint_class: :field_with_hint, error_class: :field_with_errors do |b|
    # ...
    # ...
    # COMMENT THIS LINE JUST LIKE THIS:
    # b.use :error, wrap_with: { tag: :span, class: :error }

    # THEN UNCOMMENT THIS LINE JUST LIKE THIS:
    b.use :full_error, wrap_with: { tag: :span, class: :error }
  end
end

经过测试的工作。