Reglas de validación de Laravel 4.2: la contraseña actual debe coincidir con el valor de DB
En el formulario de restablecimiento de contraseña, el usuario proporcionacurrent_password
, password
ypassword-confirmation
. ¿Hay alguna manera de especificar en las reglas de validación quecurrent_password
(es el valor hash) debe coincidir con el valor de la base de datos?
Actualmente tengo esto:
$rules = array(
'current_password' => 'required',
'password' => 'required|confirmed|min:22'
);
Gracias.
ACTUALIZAR
Gracias a @ChrisForrence y @Ben, se me ocurrió lo siguiente, que funciona muy bien. Muy apreciado. Espero que esto ayude a alguien más:
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 );