首先說下原理,表單驗(yàn)證使用validate驗(yàn)證器進(jìn)行驗(yàn)證,如果表單驗(yàn)證不通過,將表單數(shù)據(jù)和錯(cuò)誤信息閃存到session中去,然后再到表單中進(jìn)行展示。
1.驗(yàn)證器規(guī)則的寫法,返回一個(gè)規(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í)行下面這句話,生成一個(gè)驗(yàn)證器,默認(rèn)會(huì)將錯(cuò)誤信息保存到session中,自動(dòng)重定向到跳轉(zhuǎn)到之前頁面;
$this->validate($request, $this->rule());
這時(shí)返回的頁面沒有獲取到舊的頁面提交的數(shù)據(jù),需要閃存表單數(shù)據(jù)到session中去,不過要將這段語句放在上面那段話之前,因?yàn)樯厦娴恼Z句執(zhí)行發(fā)現(xiàn)錯(cuò)誤了之后,默認(rèn)直接跳轉(zhuǎn)到之前的頁面。
$request->flashOnly(['name', 'password']); // 這是只閃存name和password的意思 // $request->flash(); // 閃存表單的所有數(shù)據(jù)到session中去
顯示錯(cuò)誤信息的代碼如下:
@if (count($errors) > 0) div class="alert alert-danger"> ul> @foreach ($errors->all() as $error) li>{{ $error }}/li> @endforeach /ul> /div> @endif
如果在控制器中,有錯(cuò)誤的信息,需要跳轉(zhuǎn)到之前的頁面,也可以使用以下代碼:
return back()->withErrors('更新圖片信息失敗');
同樣會(huì)在之前的頁面顯示錯(cuò)誤信息。
以上這篇laravel5.2表單驗(yàn)證,并顯示錯(cuò)誤信息的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
標(biāo)簽:三亞 鷹潭 濟(jì)寧 赤峰 迪慶 南寧 烏魯木齊 山南
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《laravel5.2表單驗(yàn)證,并顯示錯(cuò)誤信息的實(shí)例》,本文關(guān)鍵詞 laravel5.2,表單,驗(yàn)證,并,顯示,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。