解決Laravel使用驗證時跳轉到首頁的問題
更新時間:2021年10月09日 11:05:03 作者:PHP是宇宙中最好的語言
當我們在使用validate等方法進行驗證時,如果是錯誤,則會返回首頁,那么這個跳轉到首頁如何實現的呢?今天小編給大家分享一篇教程關于Laravel使用驗證時跳轉到首頁的解決辦法,一起看看吧
當我們在使用validate等方法進行驗證時,如果是錯誤,則會返回首頁
1、直接在請求頭中
在請求頭header中,accept使用appclication/json,使HTTP請求的接受返回只能是json格式。
2、修改框架函數
//vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:136 //將該方法中的$this->getRedirectUrl()去掉 //不建議使用,一般情況下盡量不要修改框架的代碼
3、建議使用
定義一個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驗證失敗模板 * @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' => [] ]))); } }
個人認為這個方法一言難盡,不是很好。
4、最終我使用的解決辦法
在JSON請求時,頭部的Accept指定為appliaction/json即可解決,當為JSON訪問時,則返回錯誤信息正常,非JSON時返回首頁,一定程度也是一個保護呢。
到此這篇關于Laravel使用驗證時跳轉到首頁的解決辦法的文章就介紹到這了,更多相關Laravel驗證跳轉到首頁內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Laravel5.6通過路由進行API版本控制的簡單方法
這篇文章主要介紹了詳解Laravel5.6通過路由進行API版本控制的簡單方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01