2014-04-21 236 views
1

驗證布爾我有與Laravel驗證

usernamepasswordremember me

remember me一個登錄表單一個複選框(真或假)。

如何在Laravel中創建驗證規則? http://laravel.com/docs/validation#basic-usage

唯一一個有關它似乎是in和您指定的值,但該值在這種情況下是布爾和使用這種方法,他們將被指定爲字符串?

in:true,false

回答

1

您可以嘗試這樣的事:

$rules = array('email' => 'required|email', 'password' => 'required'); 
$inputs = array(
    'email' => Input::get('email'), 
    'password' => Input::get('password') 
); 
$validator = Validator::make($inputs, $rules); 

if($validator->fails()) { 
    return Redirect::back()->withInput()->withErrorts($validator); 
} 
else { 
    $remember = Input::get('remember', FALSE); 
    if(Auth::attempt($inputs, !!$remember)) { 
     // Log in successful 
     return Redirect::to('/'); // redirect to home or wherever you want 
    } 
} 

我用它建議email但如果你使用username以外email然後就改變emailusername和規則對於username使用類似這樣的東西:

'username' => 'required|alpha|min:6' // Accepts only a-z and minimum 6 letters 
+0

謝謝,很顯然,這看起來非常穩固,但無論如何實際使用驗證類的? (在我的系統中,我在進入控制器之前進行了驗證,因此重新構建它更有意義) – user391986

+0

我真的沒有得到它,在進入控制器之前如何驗證?無論如何,感謝讚揚:-)也許你可能想分享一下你的系統,所以我們可以討論它,我很好奇:-) –

3

There's a validator for boolean.假設您正在使用一個簡化模型驗證的軟件包,例如EsensiModel,這是因爲添加以下到您的Model簡單:

protected $rules = [ 
    'email'  => 'required|email', 
    'password' => 'required', 
    'remember_me' => 'boolean', 
];