W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
當您開始進行驗證數(shù)據(jù)時,您會需要一個簡易的方法去取得錯誤信息并返回到您的視圖中,在 Laravel 中您可以很方便的處理這些操作,您可以通過下面的路由例子來了解:
Route::get('register', function()
{
return View::make('user.register');
});
Route::post('register', function()
{
$rules = [...];
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
return redirect('register')->withErrors($validator);
}
});
需要記住的是,當驗證失敗后,我們會使用 withErrors 方法來將 Validator 實例進行重定向。這個方法會將錯誤信息存入 session 中,這樣才能在下個請求中被使用。
然而,我們并不需要特別去將錯誤信息綁定在我們 GET 路由的視圖中。因為 Laravel 會確認在 Session 數(shù)據(jù)中檢查是否有錯誤信息,并且自動將它們綁定至視圖中。所以請注意,$errors 變量存在于所有的視圖中,所有的請求里,讓您可以直接假設 $errors 變量已被定義且可以安全地使用。$errors 變量是 MessageBag 類的一個實例。
所以,在重定向之后,您可以自然的在視圖中使用 $errors 變量:
<?php echo $errors->first('email'); ?>
假如您在一個頁面中有許多的表單,您可能希望為錯誤命名一個 MessageBag。 這樣能方便您針對特定的表單查看其錯誤信息, 我們只要簡單的在 withErrors 的第二個參數(shù)設定名稱即可:
return redirect('register')->withErrors($validator, 'login');
接著您可以從一個 $errors 變量中取得已命名的 MessageBag 實例:
<?php echo $errors->login->first('email'); ?>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: