关于重写 Laravel 表单验证器 Request 返回 JSON 的数据格式

新建BaseRequest.php

关于重写laravel表单验证器Request返回json信息
重写failedValidation方法

<?php 
    namespace App\Http\Requests;
    use Illuminate\Foundation\Http\FormRequest;
    use Illuminate\Contracts\Validation\Validator;
    use Illuminate\Http\Exceptions\HttpResponseException;

    class BaseRequest extends FormRequest
    {
        protected function failedValidation(Validator $validator) {
            $error= $validator->errors()->all();
            throw new HttpResponseException(response()->json(['msg'=>'error','code'=>'500','data'=>$error[0]], 500));
        }
    }
?>

之后的验证器就继承BaseRequest.php
返回json数据示例

关于重写laravel表单验证器Request返回json信息

本作品采用《CC 协议》,转载必须注明作者和本文链接
Hzven
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
游离不2

本来就支持json吧

4年前 评论
Hzven

@游离不2 是的,当你是ajax请求的时候http响应的也是返回json数据,但是返回格式不是很理想吧,我这个是重写了返回json的数据格式

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!