你们怎么在Laravel8中自定义csrf提示的
public function render($request, Exception $exception)
{
if ($exception instanceof AuthorizationException && request()->ajax()) {
throw new InvalidRequestException('没有操作权限');
}
if ($exception instanceof \Illuminate\Database\Eloquent\ModelNotFoundException && request()->ajax()) {
if($exception->getModel() == "App\Models\TaskOrder") {
$response = response()->json(['message' => '订单已删除'], 404);
throw new HttpResponseException($response);
}
}
if ($exception instanceof \Illuminate\Session\TokenMismatchException && request()->ajax()) {
throw new InvalidRequestException('页面过期,请刷新页面 Page expired, please refresh the page');
}
return parent::render($request, $exception);
}
这样的代码在Laravel8中不能用了,我现在在升级我的项目,烦的不行
尝试一下把最后TokenMismatchException 这个异常写在第一步
和位置没关系,是在Laravel8中这样的代码没法用了。这个我在5.8中是可以用的
\app\Http\Middleware\VerifyCsrfToken.php 重写handle方法