Я создал маршрут, вид и метод пароля в [email protected]
и [email protected]
В настоящий момент, если я заполняю поле new_password
, он получает хэширование и отправляется в базу данных правильно, тогда я могу войти с новым паролем.
Но мне нужно иметь возможность проверить new_password
и new_password_confirm
, чтобы убедиться, что они одинаковы и также проверять текущий пароль пользователя.
Как я могу это сделать?
EDIT: я добавил метод $this->validate
, но теперь я продолжаю получать ошибку The password confirmation confirmation does not match.
, даже если они соответствуют, поскольку я использую простой пароль. Также я думаю, что мне нужно проверить текущий пароль вручную, поскольку validator
не сделает это для меня.
public function getProfilePassword(Request $request) {
return view('profile/password', ['user' => Auth::user()]);
}
public function postProfilePassword(Request $request) {
$user = Auth::user();
$this->validate($request, [
'old_password' => 'required',
'password' => 'required|min:4',
'password_confirmation' => 'required|confirmed'
]);
$user->password = Hash::make(Input::get('new_password'));
$user->save();
}
И это вид
<form action="{{ route('profile/updatepassword') }}" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="name">Current Password</label>
<input type="password" name="old_password" class="form-control" id="old_password">
</div>
<div class="form-group">
<label for="name">Password</label>
<input type="password" name="password" class="form-control" id="password">
</div>
<div class="form-group">
<label for="name">New Password</label>
<input type="password" name="password_confirmation" class="form-control" id="password_confirmation">
</div>
<button type="submit" class="btn btn-primary">Change Password</button>
<input type="hidden" value="{{ Session::token() }}" name="_token">
</form>