Наткнулся на это время я искал тот же ответ, как хорошо. Возможно, это немного устарело, но, как упоминает Кристиан в комментариях, решение Alexey позволяет пользователю использовать любой существующий пароль (даже другого пользователя) в базе данных в качестве текущего пароля. Надеюсь, что этот ответ поможет кому-то :)
Так Laravel 5.2 ниже решение работал для меня, как mentioned in the documentation:
'old_password' => 'required|exists:users,password,usr_id,'.$user_id,
Это может быть, отличается Laravel 5.3+, как Laravel 5.3 documentation имеет следующую проверку для настройки запроса , Я не пробовал это, но это не работает для Laravel 5.2.
use Illuminate\Validation\Rule;
Validator::make($data, [
'email' => [
'required',
Rule::exists('staff')->where(function ($query) {
$query->where('account_id', 1);
}),
],
]);
Вы не должны хранить пароли открытым текстом в базе данных, так что вы не должны быть в состоянии использовать любой вид входных правил проверки на пароле, чтобы сравнить его с тем, что в базе данных. –
для сравнения старого и нового использования пароля Hash :: check ($ currentpassword, $ password) – Bugfixer