Правило проверки старого пароля и нового пароля

Я проверяю старый пароль и новый пароль с паролем подтверждения.

Здесь я хочу проверить, не должны ли быть одинаковыми OldPassword и New Password.

Как я могу это сделать ?

Вот мое правило:

   public static $rulespwd = array('OldPassword' => 'required|pwdvalidation',
        'NewPassword' => 'required|confirmed|min:1|max:10',
        'NewPassword_confirmation' => 'required',
        );

Вот мой код контроллера для проверки:

$PasswordData = Input::all();
        Validator::extend('pwdvalidation', function($field, $value, $parameters)
        {
            return Hash::check($value, Auth::user()->password);
        });

        $messages = array('pwdvalidation' => 'The Old Password is Incorrect');

        $validator = Validator::make($PasswordData, User::$rulespwd, $messages);
        if ($validator->passes()) 
        {
            $user = User::find(Auth::user()->id);
            $user->password = Input::get('NewPassword');
            $user->save();
            return Redirect::to('changepassword')->with('Messages', 'The Password Information was Updated');
        }

Примечание. Я использую модель для правила проверки. Как я могу сделать это в модели??


person AngularAngularAngular    schedule 03.02.2015    source источник
comment
Пожалуйста, никогда не ограничивайте пароль до 10 символов - это очень плохо и заставляет младенца Иисуса плакать   -  person Laurence    schedule 03.02.2015
comment
Да, спасибо за предложение, я обновлю то же самое :)   -  person AngularAngularAngular    schedule 03.02.2015


Ответы (1)


Просто используйте правило проверки different - как описано в документации Laravel

public static $rulespwd = array('OldPassword' => 'required|pwdvalidation',
    'NewPassword' => 'required|confirmed|min:6|max:50|different:OldPassword',
    'NewPassword_confirmation' => 'required',
    );

Кроме того, почему вы ограничиваете пароль 10 символами? Это глупо - нет причин ограничивать его вообще. Все, что вы делаете, это снижает безопасность вашего приложения.

person Laurence    schedule 03.02.2015
comment
@Chennai 6 минут закончились ;) - person lukasgeiter; 03.02.2015