使用错误消息实现数据验证

时间:2014-03-23 16:41:46

标签: html ruby ruby-on-rails-3 ruby-on-rails-3.2

我目前正在开发线性优化工具,我想保证输入数据的有效性。因此,我已经定义了各种“验证”方法,例如:

validates :production_coefficient_machines, :numericality => { :greater_than_or_equal_to => 0}, :allow_nil => true

我真的想要包含描述性错误消息。我试过了:

validates :storage_cost, :numericality => { :greater_than => 0, :message => "Please enter positive values"}, :allow_nil => true

验证有效,但我不会看到任何错误消息。我也尝试将该方法添加到form.html:

<%= form_for(@product_a) do |f| %>
        <% if @product_a.errors.any? %>
            <div id="error_explanation">
              <h2><%= pluralize(@product_a.errors.count, "error") %> prohibited this product_a from being saved:</h2>

              <ul>
                <% @product_a.errors.full_messages.each do |msg| %>
                    <li><%= msg %></li>
                <% end %>
              </ul>
            </div>
        <% end %>

指向index.html,但由于该方法是针对product_a表单编写的,因此无法在index.html中使用。

如何轻松实现错误消息?

1 个答案:

答案 0 :(得分:0)

如果您的产品尚未保存,则Controller不应该引导您执行index操作,它应该重新呈现具有上述形式的new操作。在表单中,您可以使用

显示错误
f.error_messages

表单构建器的方法。

相关问题