BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

登録されるとつらいユーザー名を禁止するRails Validator

昨日こんな記事が話題になっていました。

登録されるとつらいユーザー名リスト - Qiita

ああ、ちょうどまさにこういうルーティングのWebサービスを作っているところだったりすので、とても参考になる情報。ということでサクッとRailsのValidatorにしてみました。元記事のコメントに書かれていたものと、自分で思いついたものも追加してあります。ついでに複数形にも対応してます。

これをapp/validators/ban_reserved_validator.rbに配置。

Model側ではこんな感じで定義すれば予約語を禁止できる。

class User < ActiveRecord::Base
  validates :name, ban_reserved: true
end

やや力技感がありますが、ユーザー登録時にしか走らない処理なので、こんな感じのハードコーディングでも十分かと。