2013-10-04 97 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-> 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

我已經在模型中使用殷切所以我沒有做驗證控制器。有沒有人知道一種方法來驗證這一點? – Dru