From d9fa19106998bc6ac484494334dcf150bb6aa5d5 Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 10 Dec 2012 20:16:26 +0100 Subject: email format validations --- users/app/controllers/users_controller.rb | 2 ++ users/app/models/email.rb | 5 +++++ users/app/models/user.rb | 7 +++++++ 3 files changed, 14 insertions(+) (limited to 'users') diff --git a/users/app/controllers/users_controller.rb b/users/app/controllers/users_controller.rb index 5055f4e..811e8e5 100644 --- a/users/app/controllers/users_controller.rb +++ b/users/app/controllers/users_controller.rb @@ -33,6 +33,8 @@ class UsersController < ApplicationController @user.attributes = params[:user] if @user.changed? and @user.save flash[:notice] = t(:user_updated_successfully) + else + flash[:error] = @user.errors.full_messages end respond_with @user, :location => edit_user_path(@user) end diff --git a/users/app/models/email.rb b/users/app/models/email.rb index 0988d9f..7c88c51 100644 --- a/users/app/models/email.rb +++ b/users/app/models/email.rb @@ -3,6 +3,11 @@ class Email property :email, String + validates :email_forward, + :format => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, :message => "needs to be a valid email address"} + + timestamps! + def to_s email end diff --git a/users/app/models/user.rb b/users/app/models/user.rb index fcb211e..a41554d 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -26,6 +26,13 @@ class User < CouchRest::Model::Base :confirmation => true, :format => { :with => /.{8}.*/, :message => "needs to be at least 8 characters long" } + # TODO: write a proper email validator to be used in the different places + validates :email, + :format => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, :message => "needs to be a valid email address"} + + validates :email_forward, + :format => { :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, :message => "needs to be a valid email address"} + timestamps! design do -- cgit v1.2.3