Laravel 4.2 Правила проверки - текущий пароль должен соответствовать значению БД
На форме сброса пароля пользователь поставляетcurrent_password
, password
а такжеpassword-confirmation
, Есть ли способ указать в правилах проверки, чтоcurrent_password
(это хеш-значение) должно соответствовать значению базы данных?
В настоящее время у меня есть это:
$rules = array(
'current_password' => 'required',
'password' => 'required|confirmed|min:22'
);
Спасибо.
ОБНОВИТЬ
Благодаря @ChrisForrence и @Ben я придумал следующее, которое прекрасно работает! Очень признателен. Надеюсь, это поможет кому-то еще:
Validator::extend('hashmatch', function($attribute, $value, $parameters)
{
return Hash::check($value, Auth::user()->$parameters[0]);
});
$messages = array(
'hashmatch' => 'Your current password must match your account password.'
);
$rules = array(
'current_password' => 'required|hashmatch:password',
'password' => 'required|confirmed|min:4|different:current_password'
);
$validation = Validator::make( Input::all(), $rules, $messages );