Laravel 4.2-Validierungsregeln - Das aktuelle Passwort muss mit dem DB-Wert übereinstimmen
Auf dem Passwort-Rücksetzformular gibt der Benutzer ancurrent_password
, password
undpassword-confirmation
. Gibt es eine Möglichkeit, in den Validierungsregeln anzugeben, dasscurrent_password
(es ist Hash-Wert) muss mit dem Datenbankwert übereinstimmen?
Derzeit habe ich folgendes:
$rules = array(
'current_password' => 'required',
'password' => 'required|confirmed|min:22'
);
Danke.
AKTUALISIEREN
Dank @ChrisForrence und @Ben habe ich mir folgendes ausgedacht, was großartig funktioniert! Sehr geschätzt. Hoffe, dass dies jemand anderem hilft:
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 );