'required | email', 'phone.*' => 'required|regex:/^[0-9]+$/', ]; // エラーメッセージ $message = [ 'email.required' => 'メールアドレスを入力してください', 'email.email' => 'メールアドレスの形式が正しくありません', 'phone.*' => '電話番号を正しく入力して下さい', ]; // バリデーションチェック $validator = Validator::make($request->all(), $rules, $message); if ($validator->fails()) { return redirect('/swo8_2') ->withErrors($validator) ->withInput(); } // 存在チェック ([本メールアドレス or 予備メールアドレス] and [携帯電話番号 or 自宅電話番号]に一致するデータ) $email = $request->input('email'); $phone = implode('-', $request->input('phone')); $existingMember = User::where(function ($query) use ($email) { $query->where('user_primemail', $email)->orWhere('user_submail', $email); })->where(function ($query) use ($phone) { $query->where('user_mobile', $phone)->orWhere('user_homephone', $phone); })->first(); if (!$existingMember) { return redirect('/swo8_2') ->withErrors(['nodata' => '該当する会員情報が見つかりませんでした']) ->withInput(); } // パスワード変更 $commonFunction = new CommonFunction(); $userPass = $commonFunction->createPassword(); $userPassHash = $commonFunction->hashPassword($existingMember->user_seq, $userPass); $existingMember->user_pass = $userPassHash; $existingMember->updated_at = now(); $existingMember->save(); // 通知メール送信 Mail::send(["text" => 'emails.password_remind'], [ 'name' => $existingMember->user_name, 'pass' => $userPass ], function ($message) use ($email) { $message->to($email)->subject('【So-Manager】パスワード再発行完了'); }); // 完了画面遷移 return view('/swo8_3'); } }