2013-08-25 5 views
0

Я пытаюсь получить пароль подтверждения для работы с полем пароля в моей форме. Я прошел через методы Validator, и все они, похоже, работают отлично. Тем не менее, при попытке подтвердить пароль я получаю сообщение об ошибке каждый раз, когда они должны совпадать. Зачищая голову, я могу только определить, потому что они хэшируются, прежде чем проходить проверку. Я не уверен, как пройти мимо этого, поскольку они должны быть хешем, прежде чем войти в базу данных. Есть идеи?сравнение пароля подтверждения с хешированным паролем | Laravel 4

getSignUp Контроллер

 public function getSignUp() { 
      $userdata = array(
       'email' => Input::get('email'), 
       'password' => Hash::make(Input::get('password')), 
       'confirm_password' => Hash::make(Input::get('confirm_password')), 
       'user_zip_code' => Input::get('user_zip_code')   
      ); 

      $rules = array(
       'email' => 'required|email|unique:users,email', 
       'password' => 'required|min:5', 
       'confirm_password' => 'required|same:password', 
       'user_zip_code' => 'required' 
      ); 

      $validation = Validator::make($userdata, $rules); 

      if($validation->fails()){ 
       return Redirect::to('signup')->withErrors($validation)->withInput(); 
      } 

      $user = new User($userdata); 
      $user->save(); 

      return Redirect::to('login'); 
    } 

Если требуется больше кода, дайте мне знать. Я просто просто имею, что theErrors переходит к шаблону клинка для страницы регистрации.

ответ

3

Не передавайте хешированный пароль валидатору. Хеш его, прежде чем вы его сохраните:

public function getSignUp() { 
    $userdata = array(
     'email' => Input::get('email'), 
     'password' => Input::get('password'), 
     'confirm_password' => Input::get('confirm_password'), 
     'user_zip_code' => Input::get('user_zip_code')   
    ); 

    $rules = ... 

    $validation = Validator::make($userdata, $rules); 

    if($validation->fails()){ 
     return Redirect::to('signup')->withErrors($validation)->withInput(); 
    } 

    $userdata['password'] = Hash::make($userdata['password']); 

    $user = new User($userdata); 
    $user->save(); 

    return Redirect::to('login'); 
} 
+0

глупо легко ... lol спасибо! Мистер Сильбер! – Lynx

Смежные вопросы