Add username format restrictions
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
df3ec9f90a
commit
9407c7a94d
@ -12,6 +12,13 @@ class User < ApplicationRecord
|
||||
|
||||
validates_uniqueness_of :cn
|
||||
validates_length_of :cn, :minimum => 3
|
||||
validates_format_of :cn, with: /\A([a-z0-9\-])*\z/,
|
||||
if: Proc.new{ |u| u.cn.present? },
|
||||
message: "is invalid. Please use only letters, numbers and -"
|
||||
validates_format_of :cn, without: /\A-/,
|
||||
if: Proc.new{ |u| u.cn.present? },
|
||||
message: "is invalid. Usernames need to start with a letter."
|
||||
|
||||
validates_uniqueness_of :email
|
||||
validates :email, email: true
|
||||
|
||||
|
@ -71,6 +71,12 @@ RSpec.describe "Signup", type: :feature do
|
||||
fill_in "user_cn", with: "t"
|
||||
click_button "Continue"
|
||||
expect(page).to have_content("Username is too short")
|
||||
fill_in "user_cn", with: "-tony"
|
||||
click_button "Continue"
|
||||
expect(page).to have_content("Username is invalid")
|
||||
fill_in "user_cn", with: "$atoshi"
|
||||
click_button "Continue"
|
||||
expect(page).to have_content("Username is invalid")
|
||||
fill_in "user_cn", with: "jimmy"
|
||||
click_button "Continue"
|
||||
expect(page).to have_content("Username has already been taken")
|
||||
|
Loading…
x
Reference in New Issue
Block a user