0712-2888027 189-8648-0214
微信公眾號(hào)

孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號(hào)

當(dāng)前位置:主頁(yè) > 技術(shù)支持 > PHP > Laravel跳轉(zhuǎn)回之前頁(yè)面,并攜帶錯(cuò)誤信息back()->withErrors(['錯(cuò)了'])

Laravel跳轉(zhuǎn)回之前頁(yè)面,并攜帶錯(cuò)誤信息back()->withErrors(['錯(cuò)了'])

時(shí)間:2019-01-10來(lái)源:風(fēng)信官網(wǎng) 點(diǎn)擊: 2310次
用Laravel5.1開(kāi)發(fā)項(xiàng)目的時(shí)候,經(jīng)常碰到需要攜帶錯(cuò)誤信息到上一個(gè)頁(yè)面,開(kāi)發(fā)web后臺(tái)的時(shí)候尤其強(qiáng)烈。
 
方法一:跳轉(zhuǎn)到指定路由,并攜帶錯(cuò)誤信息
 
return redirect('/admin/resource/showAddResourceView/' . $customer_id)
    ->withErrors(['此授權(quán)碼已過(guò)期,請(qǐng)重新生成!']);
 
方法二:跳轉(zhuǎn)到上個(gè)頁(yè)面,并攜帶錯(cuò)誤信息
 
return back()->withErrors(['此激活碼已與該用戶綁定過(guò)!']);
 
方法三:validate驗(yàn)證(這種情況應(yīng)該是最多的)
 
我們?cè)谔峤槐韱蔚臅r(shí)候,進(jìn)入控制器的第一步就是驗(yàn)證輸入的參數(shù)符不符合我們的要求,如果不符合,就直接帶著輸入、錯(cuò)誤信息返回到上一個(gè)頁(yè)面,這個(gè)是框架自動(dòng)完成的。具體例子:
 
$rules = [
    'user_name' => 'unique:customer|min:4|max:255',
    'email' => 'email|min:5|max:64|required_without:user_name',
    'customer_type' => 'required|integer',
];
$messages = [
    'user_name.unique' => '用戶名已存在!',
    'user_name.max' => '用戶名長(zhǎng)度應(yīng)小于255個(gè)字符!',
    'email.required_without' => '郵箱或者用戶名必須至少填寫(xiě)一個(gè)!',
    'customer_type.required' => '用戶類型必填!',
];
$this->validate($request, $rules, $messages);
 
然后在視圖里面引入公共的錯(cuò)誤信息:
 
D:\phpStudy\WWW\xxx\resources\views\admin\error.blade.php
 
<div class="form-group">
    @if (count($errors) > 0)
        <div class="alert alert-danger">
            <ul style="color:red;">
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
            </ul>
        </div>
    @endif
</div>
 
 
例如:
 
@extends('admin.master')
@section('css')
@parent
<link href="{{ asset('css/plugins/iCheck/custom.css') }}" rel="stylesheet">
@endsection
@section('content')
{{-- {{dd($data)}} --}}
<div class="wrapper wrapper-content animated fadeInRight">
@include('admin.error')
 
如果還需要自定義錯(cuò)誤信息,并且把之前傳過(guò)來(lái)的值返回到上一個(gè)視圖,還需要加個(gè)withInput;
 
if (empty($res)) {
    return back()->withErrors(['查不到這個(gè)用戶,請(qǐng)檢查!'])->withInput();
}
 
實(shí)際展示效果如下:
Laravel跳轉(zhuǎn)回之前頁(yè)面,并攜帶錯(cuò)誤信息back()->withErrors(['錯(cuò)了'])
 
欄目列表
推薦內(nèi)容
熱點(diǎn)內(nèi)容
展開(kāi)