2013-10-04 2 views
0

Вот мой метод postLogin:Проверка на форму входа

$userdata = array(
     'email'  => Input::get('email'), 
     'password' => Input::get('password'), 
     'enabled' => 1 
    ); 

    if (Auth::attempt($userdata)) 
    { 
     return Redirect::intended('/'); 
    } 

    return Redirect::route('login') 
     ->withInput(Input::except('password')) 
     ->withErrors(array('password' => 'Password invalid')); 

Я использую Ardent в моей модели. Как проверить форму входа и получить сообщения об ошибках, так как я не использую Ardent-> save()?

ответ

0

использования, как это,

$input = Input::all(); 
$rules = array('email' => 'required|email', 'password' => 'required'); 

$validator = Validator::make($input, $rules); 

if($validator->fails()) { 
    return Redirect::to('login')->withInput()->withErrors($validator); 
} else { 

    $userdata = array(
      'email'  => Input::get('email'), 
      'password' => Input::get('password'), 
      'enabled' => 1 
    ); 

    if (Auth::attempt($userdata)) { 
     $remember = Input::get('remember'); 
     if(!empty($remember)) { 
      Auth::login(Auth::user(), true); 
     } 
     return Redirect::intended('/'); 
    } else { 
     return Redirect::to('login') 
     ->withInput(Input::except('password')) 
     ->withErrors(array('password' => 'Password invalid')); 
    } 

} 
+0

Я уже использую Ardent в модели, так что я не должен делать проверку в контроллере. Кто-нибудь знает способ подтверждения этого? – Dru

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