国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁(yè) > 技術(shù) > IOS開(kāi)發(fā)

解決Laravel使用驗(yàn)證時(shí)跳轉(zhuǎn)到首頁(yè)的問(wèn)題

IOS開(kāi)發(fā) 2023-02-16 22:21:39

當(dāng)我們?cè)谑褂胿alidate等方法進(jìn)行驗(yàn)證時(shí),如果是錯(cuò)誤,則會(huì)返回首頁(yè)

1、直接在請(qǐng)求頭中

在請(qǐng)求頭header中,accept使用appclication/json,使HTTP請(qǐng)求的接受返回只能是json格式。

2、修改框架函數(shù)

//vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php:136
//將該方法中的$this->getRedirectUrl()去掉
//不建議使用,一般情況下盡量不要修改框架的代碼

3、建議使用

定義一個(gè)BaseRequest基類(lèi)

<?php
    
namespace AppHttpRequests;
 
use IlluminateContractsValidationValidator;
use IlluminateFoundationHttpFormRequest;
use IlluminateHttpExceptionsHttpResponseException;
 
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請(qǐng)求時(shí),頭部的Accept指定為appliaction/json即可解決,當(dāng)為JSON訪問(wèn)時(shí),則返回錯(cuò)誤信息正常,非JSON時(shí)返回首頁(yè),一定程度也是一個(gè)保護(hù)呢。

到此這篇關(guān)于Laravel使用驗(yàn)證時(shí)跳轉(zhuǎn)到首頁(yè)的解決辦法的文章就介紹到這了,更多相關(guān)Laravel驗(yàn)證跳轉(zhuǎn)到首頁(yè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護(hù),版權(quán)登記號(hào):國(guó)作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴(yán)禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來(lái)源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請(qǐng)注明來(lái)源,商業(yè)媒體及紙媒請(qǐng)先聯(lián)系:aishangyiwan@126.com

工信部備案號(hào):湘ICP備19012813號(hào)-5