Regras de validação do Laravel 4.2 - a senha atual deve corresponder ao valor do banco de dados
No formulário de redefinição de senha, o usuário fornececurrent_password
, password
epassword-confirmation
. Existe uma maneira de especificar nas regras de validação quecurrent_password
(é o valor do hash) deve corresponder ao valor do banco de dados?
Atualmente eu tenho isso:
$rules = array(
'current_password' => 'required',
'password' => 'required|confirmed|min:22'
);
Obrigado.
ATUALIZAR
Graças a @ ChrisForrence e @ Ben, eu vim com o seguinte que funciona muito bem! Muito apreciado. Espero que isso ajude alguém:
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 );