質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

2620閲覧

Laravel パスワードのバリデーションを半角英数字に変更したい

Laxxx0214

総合スコア15

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2020/08/04 03:26

編集2020/08/04 05:40

前提・実現したいこと

Laravelデフォルトの認証機能を使う際のパスワードのバリデーションを半角英数字に変更したい

発生している問題

参考記事
コチラの記事を参考にやってみてその後数字だけでパスワードを入力してみたらそのまま登録できてしまいました。( エラーなし )
求めている挙動としては、半角英数字両方使われつつ8文字以上でない場合はエラーを出したいです
ちなみに自分でも下記の様に変えてやったんですが先程と同じ結果でした

どなたか分かる方いらっしゃいましたら是非教えていただきたいです
ちなみにLaravel 7です

php

1protected function validator(array $data) 2 { 3 return Validator::make($data, [ 4 'name' => ['required', 'string', 'max:255'], 5 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 6 'password' => ['required', 'regex:/^[a-zA-Z0-9]+$/', 'min:8', 'confirmed'], 7 ]); 8 } 9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kai0310

2020/08/04 03:43 編集

何をどうして、何がどのようにダメだったのでしょうか?
Laxxx0214

2020/08/04 03:55

文章が抽象的ですいません! 修正します!
m.ts10806

2020/08/04 04:56

参考記事にアクセスできませんが、リンク間違えてませんか。
Laxxx0214

2020/08/04 05:37

リンク修正します!
guest

回答1

0

ベストアンサー

この手のチェッカーできちんと単体チェックしてみては。
正規表現チェッカー ver3.1

[a-zA-Z0-9]

これでは「英数両方使われる」というより「英字大小全てと数0~9の中のいずれか1文字以上含む」にしかなってないように思います。
下記のようなまとめ記事(パスワード用正規表現)を参考にしてみてください。
言語別:パスワード向けの正規表現
※Laravelのバリデートのregaxにそのまま適用できるわけではないと思うので、そこはきちんと理解して抜き出すようにしてください

投稿2020/08/04 05:01

m.ts10806

総合スコア80861

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Laxxx0214

2020/08/04 07:28

回答ありがとうございました! 無事そちらの記事を参考にして 'password' => ['required', 'regex:/\A(?=.*?[a-z])(?=.*?\d)[a-z\d]{8,100}+\z/i', 'min:8', 'confirmed'], にしたら望んでいた挙動が出来ました(^^ゞ
m.ts10806

2020/08/04 08:07 編集

全く意味分からずに使っていると仕様変更に対応できなくなるので、必ず「なぜ望んだ挙動ができるか」は調べておいてください。
Laxxx0214

2020/08/04 08:47

アドバイスまでありがとうございます! おっしゃる通り自分で理解できるまで調べてみようと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問