您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何解決laravel5.2表單驗證并顯示錯誤信息的問題的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
首先說下原理,表單驗證使用validate驗證器進行驗證,如果表單驗證不通過,將表單數據和錯誤信息閃存到session中去,然后再到表單中進行展示。
1.驗證器規則的寫法,返回一個規則數組
public function rule() { return [ 'name' => [ 'required', 'max: 5', 'min: 2', 'regex: /^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u' ], 'password' => [ 'required', 'min: 6', 'max: 12', ], ]; }
執行下面這句話,生成一個驗證器,默認會將錯誤信息保存到session中,自動重定向到跳轉到之前頁面;
$this->validate($request, $this->rule());
這時返回的頁面沒有獲取到舊的頁面提交的數據,需要閃存表單數據到session中去,不過要將這段語句放在上面那段話之前,因為上面的語句執行發現錯誤了之后,默認直接跳轉到之前的頁面。
$request->flashOnly(['name', 'password']); // 這是只閃存name和password的意思 // $request->flash(); // 閃存表單的所有數據到session中去
顯示錯誤信息的代碼如下:
@if (count($errors) > 0) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif
如果在控制器中,有錯誤的信息,需要跳轉到之前的頁面,也可以使用以下代碼:
return back()->withErrors('更新圖片信息失敗');
同樣會在之前的頁面顯示錯誤信息。
感謝各位的閱讀!關于“如何解決laravel5.2表單驗證并顯示錯誤信息的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。