2014-10-12 3 views
1

, пытаясь придумать способ, который позволит мне проверить пароль ввода навстречу с базой данных.Custom validation help для laravel - проверить поле против поля БД

Для значения базы данных Я использую функцию Auth. До сих пор у меня есть:

$currentPassword = Auth::user()->password; 
$passwordInput = Input::get('password-old'); 

if (isset($passwordPassword) && !Hash::check($passwordInput, $currentPassword)) 
{ 
return Redirect::to('/updatepassword')->with('incorrectPassword', '1'); 
} 

Затем я проверяю неправильный пароль, отправленный с перенаправлением. Это работает, но его уродливо. Я хочу создать пользовательскую проверку, где я могу проверить поле на заданное значение.

Итак:

'password' = > 'checkMatch:$checkValue' 

Или что-то?

Любая помощь по этому вопросу? Я посмотрел, как реализовать пользовательские правила проверки, но не могу получить это в моей голове без рабочего примера.

ответ

2

Validator::extend('checkMatch', function($attribute, $value, $parameters) 
{ 
    if (count($parameters) < 1) 
     throw new InvalidArgumentException("Validation rule checkMatch requires at least 1 parameters."); 

    return Hash::check($value, $parameters[0]); 
}); 
+0

Спасибо, как бы это использовать? Как в 'password' => 'required | checkMatch :?' – Lovelock

+0

Да, ''password' => 'required | checkMath: yourPasswordHere'' –