diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-02-26 18:07:13 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-02-26 18:07:13 +0000 |
commit | 7c568cccafeb2f1577349419f758478362bf3c97 (patch) | |
tree | 41ebbb213451ca2bda816bd21bc90a77c8cfad05 /app | |
parent | 9c264a7e66cbc64251e48a89eb8a0c37e556e491 (diff) | |
download | redmine-7c568cccafeb2f1577349419f758478362bf3c97.tar.gz redmine-7c568cccafeb2f1577349419f758478362bf3c97.zip |
Adds a helper for displaying validation error messages.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9017 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/helpers/application_helper.rb | 14 | ||||
-rw-r--r-- | app/views/boards/_form.html.erb | 2 | ||||
-rw-r--r-- | app/views/documents/_form.html.erb | 2 | ||||
-rw-r--r-- | app/views/groups/_form.html.erb | 2 | ||||
-rw-r--r-- | app/views/news/_form.html.erb | 3 |
5 files changed, 19 insertions, 4 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 175fb5109..313b0f933 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -945,6 +945,20 @@ module ApplicationHelper remote_form_for(*args, &proc) end + def error_messages_for(*objects) + html = "" + objects = objects.map {|o| o.is_a?(String) ? instance_variable_get("@#{o}") : o}.compact + errors = objects.map {|o| o.errors.full_messages}.flatten + if errors.any? + html << "<div id='errorExplanation'><ul>\n" + errors.each do |error| + html << "<li>#{h error}</li>\n" + end + html << "</ul></div>\n" + end + html.html_safe + end + def back_url_hidden_field_tag back_url = params[:back_url] || request.env['HTTP_REFERER'] back_url = CGI.unescape(back_url.to_s) diff --git a/app/views/boards/_form.html.erb b/app/views/boards/_form.html.erb index d80c84717..736028bb1 100644 --- a/app/views/boards/_form.html.erb +++ b/app/views/boards/_form.html.erb @@ -1,4 +1,4 @@ -<%= f.error_messages %> +<%= error_messages_for @board %> <div class="box tabular"> <p><%= f.text_field :name, :required => true %></p> diff --git a/app/views/documents/_form.html.erb b/app/views/documents/_form.html.erb index b5b5fa410..53d8fc3bb 100644 --- a/app/views/documents/_form.html.erb +++ b/app/views/documents/_form.html.erb @@ -1,4 +1,4 @@ -<%= f.error_messages %> +<%= error_messages_for @document %> <div class="box tabular"> <p><%= f.select :category_id, DocumentCategory.active.collect {|c| [c.name, c.id]} %></p> diff --git a/app/views/groups/_form.html.erb b/app/views/groups/_form.html.erb index aab2a073e..bca919b39 100644 --- a/app/views/groups/_form.html.erb +++ b/app/views/groups/_form.html.erb @@ -1,4 +1,4 @@ -<%= f.error_messages %> +<%= error_messages_for @group %> <div class="box tabular"> <p><%= f.text_field :lastname, :label => :field_name %></p> diff --git a/app/views/news/_form.html.erb b/app/views/news/_form.html.erb index a0d2167a9..ad28e12b2 100644 --- a/app/views/news/_form.html.erb +++ b/app/views/news/_form.html.erb @@ -1,4 +1,5 @@ -<%= f.error_messages %> +<%= error_messages_for @news %> + <div class="box tabular"> <p><%= f.text_field :title, :required => true, :size => 60 %></p> <p><%= f.text_area :summary, :cols => 60, :rows => 2 %></p> |