やりたいこと
プロフィールページ、パスワード再設定ページで、
バリデーションエラーメッセージのデフォルトが「パスワード」になっている。
これを「新しいパスワード」とユーザーにとってわかりやすいデザインにしたい。
ビフォーアフター例
プロフィール画面
パスワード再設定画面
⚠️ 最初に注意点
以下4点を元に実装していく。
✅ nameは変えない
✅ labelはOK
✅ langで共通
✅ コントローラーで個別
✅ 手順:プロフィール画面
① /Http/Controllers/Auth/PasswordController.php を開く
パスワード更新(変更)の処理をしてるのは、
PasswordController の update() メソッド!
(ファイルパス例👇)
/app/Http/Controllers/Auth/PasswordController.php
② update() メソッドでバリデーション個別指定を書く
/Http/Controllers/Auth/PasswordController.php
public function update(Request $request)
{
$request->validate([
'current_password' => ['required', 'current_password'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
], [
'current_password.required' => '現在のパスワードを入力してください。',
'current_password.current_password' => '現在のパスワードが正しくありません。',
'password.required' => '新しいパスワードを入力してください。',
'password.min' => '新しいパスワードは8文字以上で指定してください。',
'password.confirmed' => '新しいパスワードと新しいパスワード(再確認)が一致しません。',
]);
// パスワード更新ロジック
}
ここでポイント
項目 | 内容 |
---|---|
name="password"はそのまま | Laravelの標準通り(new_passwordなど変更しない) |
表示だけ「新しいパスワード」 | 日本語として自然に読める |
特定画面だけ変えたいときは、コントローラーのバリデーション第2引数で個別指定 | 特定画面だけ対応できる(共通エラーメッセージは /lang/ja/validation.php ) |
③ ゴール
✅ 手順:パスワード再設定画面
① /Http/Controllers/Auth/NewPasswordController.php を開く
ファイルパス例:
/app/Http/Controllers/Auth/NewPasswordController.php
ここに「パスワードリセット(再設定)」の処理がある!
② store() メソッドを修正する
エラーメッセージ個別指定つきに修正
Http/Controllers/Auth/NewPasswordController.php
public function store(Request $request)
{
$request->validate([
'token' => ['required'],
'email' => ['required', 'email'],
'password' => ['required', 'confirmed', 'min:8'],
], [
'email.required' => 'メールアドレスを入力してください。',
'email.email' => '正しいメールアドレス形式で入力してください。',
'password.required' => '新しいパスワードを入力してください。',
'password.min' => '新しいパスワードは8文字以上で指定してください。',
'password.confirmed' => '新しいパスワードと新しいパスワード(再確認)が一致しません。',
]);
// パスワードリセット処理...
}
③ ゴール
関連