解決Laravel使用驗(yàn)證時(shí)跳轉(zhuǎn)到首頁的問題
當(dāng)我們在使用validate等方法進(jìn)行驗(yàn)證時(shí),如果是錯(cuò)誤,則會返回首頁
1、直接在請求頭中
在請求頭header中,accept使用appclication/json,使HTTP請求的接受返回只能是json格式。
2、修改框架函數(shù)
//vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:136 //將該方法中的$this->getRedirectUrl()去掉 //不建議使用,一般情況下盡量不要修改框架的代碼
3、建議使用
定義一個(gè)BaseRequest基類
<?php namespace App\Http\Requests; use Illuminate\Contracts\Validation\Validator; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException; class BaseRequests extends FormRequest { /** * validate驗(yàn)證失敗模板 * @param Validator $validator */ protected function failedValidation(Validator $validator) { $message = ''; foreach (json_decode(json_encode($validator->errors()),1) as $error){ $message = $error[0]; break; } throw (new HttpResponseException(response()->json([ 'code' => 400, 'msg' => $message, 'data' => [] ]))); } }
個(gè)人認(rèn)為這個(gè)方法一言難盡,不是很好。
4、最終我使用的解決辦法
在JSON請求時(shí),頭部的Accept指定為appliaction/json即可解決,當(dāng)為JSON訪問時(shí),則返回錯(cuò)誤信息正常,非JSON時(shí)返回首頁,一定程度也是一個(gè)保護(hù)呢。
到此這篇關(guān)于Laravel使用驗(yàn)證時(shí)跳轉(zhuǎn)到首頁的解決辦法的文章就介紹到這了,更多相關(guān)Laravel驗(yàn)證跳轉(zhuǎn)到首頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Laravel5.6通過路由進(jìn)行API版本控制的簡單方法
這篇文章主要介紹了詳解Laravel5.6通過路由進(jìn)行API版本控制的簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01yii2 在控制器中驗(yàn)證請求參數(shù)的使用方法
這篇文章主要介紹了yii2 在控制器中驗(yàn)證請求參數(shù)的使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06分享ThinkPHP3.2中關(guān)聯(lián)查詢解決思路
這篇文章主要介紹了ThinkPHP3.2中關(guān)聯(lián)查詢解決思路的相關(guān)資料,需要的朋友可以參考下2015-09-09PHP+swoole實(shí)現(xiàn)簡單多人在線聊天群發(fā)
這篇文章主要介紹了PHP+swoole實(shí)現(xiàn)簡單多人在線聊天群發(fā) 的相關(guān)資料,需要的朋友可以參考下2016-01-01php實(shí)現(xiàn)文件下載簡單示例(代碼實(shí)現(xiàn)文件下載)
這篇文章主要介紹了php實(shí)現(xiàn)文件下載簡單示例,需要的朋友可以參考下2014-03-03使用xampp搭建運(yùn)行php虛擬主機(jī)的詳細(xì)步驟
這篇文章主要介紹了通過使用xampp搭建運(yùn)行php虛擬主機(jī)的步驟,介紹很詳細(xì),感興趣的小伙伴們可以參考一下2015-10-10