我有一个用户表,其中有一行名为 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)
#