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