$request]); } /** * Handle an incoming new password request. * * @throws \Illuminate\Validation\ValidationException */ public function store(Request $request): RedirectResponse { $request->validate([ 'token' => ['required'], 'email' => ['required', 'email'], 'password' => ['required', 'confirmed', 'min:6', 'max:20'], ], [ 'email.required' => 'Email wajib diisi.', 'email.email' => 'Format email tidak valid.', 'password.required' => 'Kata sandi wajib diisi.', 'password.confirmed' => 'Konfirmasi kata sandi tidak cocok.', 'password.min' => 'Kata sandi minimal 6 karakter.', 'password.max' => 'Kata sandi maksimal 20 karakter.', ]); $status = Password::reset( $request->only('email', 'password', 'password_confirmation', 'token'), function (User $user) use ($request) { $user->forceFill([ 'password' => Hash::make($request->password), 'remember_token' => Str::random(60), ])->save(); event(new PasswordReset($user)); } ); return $status == Password::PASSWORD_RESET ? redirect()->route('login')->with('status', 'Kata sandi berhasil diperbarui. Silakan login.') : back()->withInput($request->only('email')) ->withErrors(['email' => 'Token reset tidak valid atau sudah kedaluwarsa.']); } }