diff options
author | Azul <azul@leap.se> | 2013-03-05 13:35:05 +0100 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-03-05 13:35:05 +0100 |
commit | 27c16ccceffa1d8eaaf02612cf29a60bfe6ced01 (patch) | |
tree | 1df9d9900872cf2e97d5c27b4175816eff5cbf80 /users/app/models | |
parent | 733426aa3992dafaf1c58ede7e74018057a01148 (diff) | |
parent | 87c306ea212c01ecc8f98009def5971fc4d5af11 (diff) |
Merge branch 'master' into feature/limit_user_leak
Conflicts:
users/lib/warden/strategies/secure_remote_password.rb
Diffstat (limited to 'users/app/models')
-rw-r--r-- | users/app/models/user.rb | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/users/app/models/user.rb b/users/app/models/user.rb index e41c2dc..c9b367f 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -18,9 +18,19 @@ class User < CouchRest::Model::Base :uniqueness => true, :if => :serverside? + # Have multiple regular expression validations so we can get specific error messages: validates :login, - :format => { :with => /\A[A-Za-z\d_\.]+\z/, - :message => "Only letters, digits, . and _ allowed" } + :format => { :with => /\A.{2,}\z/, + :message => "Login must have at least two characters"} + validates :login, + :format => { :with => /\A[a-z\d_\.-]+\z/, + :message => "Only lowercase letters, digits, . - and _ allowed."} + validates :login, + :format => { :with => /\A[a-z].*\z/, + :message => "Login must begin with a lowercase letter"} + validates :login, + :format => { :with => /\A.*[a-z\d]\z/, + :message => "Login must end with a letter or digit"} validate :login_is_unique_alias |