如何解决Laravel使用验证时跳转到首页问题呢?
导读:这篇文章主要给大家介绍“如何解决Laravel使用验证时跳转到首页问题呢?”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考了解一下,希望这篇“如何解决Laravel使用验证时跳转到首页...
这篇文章主要给大家介绍“如何解决Laravel使用验证时跳转到首页问题呢?”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考了解一下,希望这篇“如何解决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使用验证时跳转到首页问题呢?内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何解决Laravel使用验证时跳转到首页问题呢?
本文地址: https://pptw.com/jishu/652781.html
