技術

[Rails] deviseのパスワード認証を半角英数字だけ許可する

投稿日:

こんばんは

ログイン機能を作る時ってdeviseが便利ですよね。
ですが、デフォルトのままだとパスワードのバリデーションは文字の長さにしか設定されていません。(8~255文字だったと思います。)

今回はパスワード認証に半角英数字だけを許可するバリデーションを設定します。

やり方は簡単でmodelにvalidatesを追加する形で出来ます。

VALID_PASSWORD_REGEX = /\A[a-z0-9]+\z/i
validates :password, format: { with: VALID_PASSWORD_REGEX }

とっても簡単ですね!

他にもstrong_password等のgemを使う方法もあります。(devise公式ではこちらを推奨しています)
How To: Set up simple password complexity requirements

それはまた別の機会に。。

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Siriに笑って欲しいから [iOS 11、macOS High Sierra](「Siri」の笑い声まとめ)

iPhone Xが発売されて巷はiPhone Xの記事ばかり。 なんとなく見てい …

no image

【AngularJS】 $on, $emit, $broadcast

どうも、なかたです。 AngularJSのコントローラー(スコープ)間のデータや …

no image

TypeScriptで連想配列の型定義をする

TypeScriptを書いているときに、毎回調べていたので簡単にまとめました。 …

[Rails] TinyTds::Error (closed connection)

どうも中田です。 たぶん、この記事で救われるエンジニアの方はおそらく1人いればよ …

no image

【Rails】そろそろデバッグしましょうか

どうも中田です。 今までrailsの開発はIDEを使わずテキストエディタだけでや …