この記事ではrails5.2.3を使用しています
概要
プログラミングスクールでログイン機能付きのフリマアプリを作成した際に、deviseのデフォルトの文字数制限(パスワードの最小文字数)を変更しなければならなかったので、備忘録として記録します。
私が調べて見つけた方法は2種類です。
1.deviseのデフォルトの設定を変える
config/initializers/devise.rb
のファイルに、deviseのデフォルトの設定が記載されています。
config.password_length = 6..128
この部分がpasswordの最小~最大文字数(デフォルトでは6~128文字)を制限している部分なので、ここの数字をいじれば変更できます。
2.deviseを使用するモデルに記述する
モデルファイルにバリデーションをかけて文字数を制限する方法です。
rails g devise モデル名
で作成したモデルファイルに
devise :validatable, password_length: 最小数..最大数
と記載することで文字数を制限することができます。
他にも方法はあるようですが、この二つはとても簡単だったので参考にさせていただきました。
参考
https://qiita.com/hirokihello/items/862284c60429be5e01cd