В настоящее время я пытаюсь изменить функциональность пароля в своем профиле пользователя, все мои входные данные отправляются на контроллер, но я думаю, что может быть что-то не так с моей функциональной логикой, может быть?
Пробный дамп запроса на функцию и дамп был успешно возвращен. Но при переносе переменной проверки вокруг процесса проверки дамп не возвращался. Запрос перенаправляет обратно на страницу профиля с данными формы.
Контроллер
public function updatePassword(Request $request)
{
$this->validate($request, [
'old_password' => 'required',
'new_password' => 'required|confirmed',
'password_confirm' => 'required'
]);
$user = User::find(Auth::id());
if (!Hash::check($request->current, $user->password)) {
return response()->json(['errors' =>
['current' => ['Current password does not match']]], 422);
}
$user->password = Hash::make($request->password);
$user->save();
return $user;
}
View
<form method="POST" action="{{ route('update-password') }}">
@csrf
@method('PUT')
<div class="form-group row">
<label for="old_password" class="col-md-2 col-form-label">{{ __('Current password') }}</label>
<div class="col-md-6">
<input id="old_password" name="old_password" type="password" class="form-control" required autofocus>
</div>
</div>
<div class="form-group row">
<label for="new_password" class="col-md-2 col-form-label">{{ __('New password') }}</label>
<div class="col-md-6">
<input id="new_password" name="new_password" type="password" class="form-control" required autofocus>
</div>
</div>
<div class="form-group row">
<label for="password_confirm" class="col-md-2 col-form-label">{{ __('Confirm password') }}</label>
<div class="col-md-6">
<input id="password_confirm" name="password_confirm" type="password" class="form-control" required
autofocus>
</div>
</div>
<div class="form-group login-row row mb-0">
<div class="col-md-8 offset-md-2">
<button type="submit" class="btn btn-primary">
{{ __('Submit') }}
</button>
</div>
</div>
</form>
Результат должен возвращать 422 / сообщение об ошибке, по крайней мере, в консоль, если «Текущий пароль» введен неправильно, а не просто перенаправлять обратно на просмотр, а когда пароль верен, затем возвращать сообщение 200 / успех (еще не реализовано) в консоль. или посмотреть.