首先說下原理,表單驗(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è)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel框架FormRequest中重寫錯(cuò)誤處理的方法
- Laravel中使用FormRequest進(jìn)行表單驗(yàn)證方法及問題匯總
- Laravel框架表單驗(yàn)證詳解
- Laravel 5框架學(xué)習(xí)之表單驗(yàn)證
- Laravel 4 初級(jí)教程之Pages、表單驗(yàn)證
- Laravel框架表單驗(yàn)證格式化輸出的方法
- Laravel框架表單驗(yàn)證操作實(shí)例分析
- Laravel5.1 框架表單驗(yàn)證操作實(shí)例詳解
- laravel框架使用FormRequest進(jìn)行表單驗(yàn)證,驗(yàn)證異常返回JSON操作示例