laravel5.2表單驗證,并顯示錯誤信息的實例
首先說下原理,表單驗證使用validate驗證器進行驗證,如果表單驗證不通過,將表單數(shù)據(jù)和錯誤信息閃存到session中去,然后再到表單中進行展示。
1.驗證器規(guī)則的寫法,返回一個規(guī)則數(shù)組
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', ], ]; }
執(zhí)行下面這句話,生成一個驗證器,默認會將錯誤信息保存到session中,自動重定向到跳轉(zhuǎn)到之前頁面;
$this->validate($request, $this->rule());
這時返回的頁面沒有獲取到舊的頁面提交的數(shù)據(jù),需要閃存表單數(shù)據(jù)到session中去,不過要將這段語句放在上面那段話之前,因為上面的語句執(zhí)行發(fā)現(xiàn)錯誤了之后,默認直接跳轉(zhuǎn)到之前的頁面。
$request->flashOnly(['name', 'password']); // 這是只閃存name和password的意思 // $request->flash(); // 閃存表單的所有數(shù)據(jù)到session中去
顯示錯誤信息的代碼如下:
@if (count($errors) > 0) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif
如果在控制器中,有錯誤的信息,需要跳轉(zhuǎn)到之前的頁面,也可以使用以下代碼:
return back()->withErrors('更新圖片信息失敗');
同樣會在之前的頁面顯示錯誤信息。
以上這篇laravel5.2表單驗證,并顯示錯誤信息的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
php實現(xiàn)12306火車票余票查詢和價格查詢(12306火車票查詢)
這篇文章主要介紹了使用php實現(xiàn)的12306火車票余票查詢和價格查詢功能,大家參考使用吧2014-01-01thinkphp 中的volist標簽在ajax操作中的特殊性(推薦)
在一個ThinkPHP的復(fù)雜頁面(包含volist)中實現(xiàn)volist標簽顯示Jquery查詢結(jié)果的返回。這篇文章給大家介紹了thinkphp 中的volist標簽在ajax操作中的特殊性(推薦),需要的朋友參考下吧2018-01-01thinkPHP框架對接支付寶即時到賬接口回調(diào)操作示例
這篇文章主要介紹了thinkPHP框架對接支付寶即時到賬接口回調(diào)操作,結(jié)合實例形式分析了thinkPHP針對支付寶接口回調(diào)操作的原理與具體操作步驟,需要的朋友可以參考下2016-11-11