0
У меня есть таблица пользователей со строкой, называемой screen_name, которая является строкой.Проверка правильности поля не работает как ожидалось
Среди других ограничений имя экрана не должно содержать символов. , &% @ и т.д. Для этого я построил следующий валидатор:
validates :screen_name, presence: true,
length: { maximum: 15 },
uniqueness: { case_sensitive: false },
format: { with: /\w+/ }
Когда я затем ввести имя экрана как foo.bar он с радостью согласился и храниться в базе данных.
Что я делаю неправильно?
# == Schema Information
#
# Table name: users
#
# id :integer not null, primary key
# name :string(255)
# email :string(255)
# created_at :datetime not null
# updated_at :datetime not null
# password_digest :string(255)
# remember_token :string(255)
# admin :boolean default(FALSE)
# screen_name :string(255)
#
Спасибо Раджа, который работал. Можете ли вы рассказать мне, какая разница между/\ w +/и/^ \ w * $/ Потому что, когда я тестирую их в Rubular.com, я не вижу разницы. – MPL
@MPL Приветствую ваше благодарение, приняв мой ответ, нажав зеленый символ записи –