当我们使用validate等方法验证时,如果是错误,我们将返回到主页。那么这个跳转到首页是怎么实现的呢?今天,边肖分享了一个关于使用Laravel验证时跳转到主页的解决方案的教程。让我们看一看。
当我们使用validate等方法验证时,如果是错误,我们将返回到主页。
1、直接在请求头中
在请求的头中,accept使用appclication/json,因此HTTP请求的接受返回只能是json格式。
2、修改框架函数
//vendor/laravel/framework/src/Illuminate/Foundation/Http/form request . PHP:136
//在这个方法中去掉$ this-getredirect()
//不推荐。一般情况下,尽量不要修改框架的代码。
3、建议使用
定义BaseRequest基类
?服务器端编程语言(Professional Hypertext Preprocessor的缩写)
命名空间App Http Requests
使用Illuminate Contracts Validation Validator;
使用Illuminate Foundation Http form request;
请使用Illuminate Http Exceptions httpresponse exception;
BaseRequests类扩展了FormRequest
{
/**
*验证验证失败的模板
* @param Validator $validator
*/
受保护的函数验证失败(验证器$validator)
{
$ message=“”;
foreach(JSON _ decode(JSON _ encode($ validator-errors()),1) as $error){
$ message=$ error[0];
打破;
}
throw(new httpresponse exception(response()-JSON([
代码=400,
msg=$message,
data=[]
])));
}
}
个人觉得这个方法一言难尽,不太好。
4、最终我使用的解决办法
在JSON请求中,可以通过将标头的Accept指定为appliaction/json来解决。访问JSON的时候,返回的错误信息是正常的,不是JSON的时候,返回首页,某种程度上也是一种保护。
这篇关于使用Laravel验证时跳转到首页的解决方案的文章到此为止。有关跳转到Laravel验证首页的更多信息,请搜索我们之前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!