Inline validation errors on sign up page
authorJohn Firebaugh <john.firebaugh@gmail.com>
Thu, 1 Aug 2013 19:02:12 +0000 (12:02 -0700)
committerJohn Firebaugh <john.firebaugh@gmail.com>
Mon, 12 Aug 2013 20:34:44 +0000 (13:34 -0700)
app/assets/stylesheets/common.css.scss
app/views/user/new.html.erb
test/functional/user_controller_test.rb
test/integration/user_creation_test.rb

index b9306a4f1d99646597e1bb84ad518e2139d09d42..7eec371b4eb10b9a710d3304fc2bdf39fdf03b74 100644 (file)
@@ -1712,7 +1712,17 @@ ul.results-list li { border-bottom: 1px solid #ccc; }
 .field_with_errors {
   padding: 2px;
   background-color: #ff7070;
-  display: table;
+  display: inline-block;
+}
+
+.formError {
+  display: inline-block;
+  padding: 5px 10px;
+  margin-top: 5px;
+  border-radius: 4px;
+  font-size: 12px;
+  color: #fff;
+  background-color: #ff7070;
 }
 
 /* Rules for rails validation error boxes */
index 51808562faffd729d87226cf2b723af04ca690de..6c89a7830d5b8f6461822c26631981433d2a166c 100644 (file)
@@ -5,8 +5,6 @@
 <% end %>
 
 <%= form_for :user, :url => { :action => 'create' }, :html => { :class => 'signup-form-wrapper standard-form fillL col6 pad2' } do %>
-  <%= error_messages_for 'user' %>
-
   <%= hidden_field_tag('referer', h(@referer)) unless @referer.nil? %>
 
   <fieldset>
         <%= t 'user.new.email address' %>
       </label>
       <%= email_field(:user, :email, { :tabindex => 1 }) %>
+      <%= error_message_on(:user, :email) %>
     </div>
     <div class="form-row">
       <label for="email_confirmation" class="standard-label">
         <%= t 'user.new.confirm email address' %>
       </label>
       <%= email_field(:user, :email_confirmation, { :tabindex => 2 }) %>
+      <%= error_message_on(:user, :email_confirmation) %>
     </div>
     <span class="form-help deemphasize"><%= raw(t 'user.new.not displayed publicly') %></span>
   </fieldset>
@@ -31,6 +31,7 @@
         <%= t 'user.new.display name' %>
       </label>
       <%= text_field(:user, :display_name, { :tabindex => 3 }) %>
+      <%= error_message_on(:user, :display_name) %>
     </div>
     <span class="form-help deemphasize"><%= t 'user.new.display name description' %></span>
   </fieldset>
@@ -41,6 +42,7 @@
         <%= raw t 'user.new.openid', :logo => openid_logo %>
       </label>
       <%= url_field(:user, :openid_url, { :id => "openid_url", :tabindex => 4, :class => "openid_url" }) %>
+      <%= error_message_on(:user, :openid_url) %>
     </div>
     <span class="form-help deemphasize"><%= t 'user.new.openid no password' %></span>
   </fieldset>
         <%= t 'user.new.password' %>
       </label>
       <%= password_field(:user, :pass_crypt, {:tabindex => 5 }) %>
+      <%= error_message_on(:user, :pass_crypt) %>
     </div>
     <div class="form-row">
       <label class="standard-label">
         <%= t 'user.new.confirm password' %>
       </label>
       <%= password_field(:user, :pass_crypt_confirmation, { :tabindex => 6 }) %>
+      <%= error_message_on(:user, :pass_crypt_confirmation) %>
     </div>
   </fieldset>
 
index 6ae27c6eb5b9858aa2391079e7f5b12fe10a72cc..20ea746968cf6fa6fba414daeb409c9d1ca2b22f 100644 (file)
@@ -259,7 +259,6 @@ class UserControllerTest < ActionController::TestCase
     end
     assert_response :success                                                                       
     assert_template 'new'
-    assert_select "div#errorExplanation"
     assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_email"
   end
   
@@ -279,7 +278,6 @@ class UserControllerTest < ActionController::TestCase
     end
     assert_response :success                                                                       
     assert_template 'new'
-    assert_select "div#errorExplanation"
     assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_email"
   end
     
@@ -299,7 +297,6 @@ class UserControllerTest < ActionController::TestCase
     end
     assert_response :success                                                                       
     assert_template 'new'
-    assert_select "div#errorExplanation"
     assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_display_name"
   end
   
@@ -319,7 +316,6 @@ class UserControllerTest < ActionController::TestCase
     end
     assert_response :success                                                                       
     assert_template 'new'
-    assert_select "div#errorExplanation"
     assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_display_name"
   end
 
index 9945bd886d2e7fbfb97a85a7b8af31e63202ff1b..fcab978c8bde72a59426fffe0132a1977a82d9a2 100644 (file)
@@ -29,7 +29,6 @@ class UserCreationTest < ActionController::IntegrationTest
       assert_response :success
       assert_template 'user/new'
       assert_equal response.headers['Content-Language'][0..1], localer.to_s[0..1] unless localer == :root
-      assert_select "div#errorExplanation"
       assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_email"
       assert_no_missing_translations
     end
@@ -48,7 +47,6 @@ class UserCreationTest < ActionController::IntegrationTest
       end
       assert_response :success
       assert_template 'user/new'
-      assert_select "div#errorExplanation"
       assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_display_name"
       assert_no_missing_translations
     end