You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Laravel验证错误JSON响应中的message字段?

修改Laravel验证错误JSON响应中的message字段内容

当然可以修改这个默认的message内容!Laravel其实藏着几种灵活的定制方式,官方文档没专门拿出来讲,但咱们开发者常用这几个方法搞定:

方法一:针对单个表单请求定制

如果你用的是表单请求类(Form Request)来做验证,直接重写类里的failedValidation方法就行,精准控制这个请求的错误响应:

use Illuminate\Contracts\Validation\Validator;
use Illuminate\Http\Exceptions\HttpResponseException;

class YourFormRequest extends FormRequest
{
    // 这里放你的验证规则和授权逻辑
    public function rules()
    {
        return [
            'email' => 'required|email|unique:users',
            // 其他规则...
        ];
    }

    protected function failedValidation(Validator $validator)
    {
        throw new HttpResponseException(response()->json([
            'message' => '表单数据验证失败,请检查你的输入内容',
            'errors' => $validator->errors(),
        ], 422));
    }
}

这样只要这个请求验证失败,就会返回你自定义的message文本。

方法二:全局统一API的错误响应

要是想让整个项目里所有API的验证错误都用同一个自定义message,可以去异常处理器里动手脚。打开App\Exceptions\Handler.php,在render方法里捕获ValidationException:

use Illuminate\Validation\ValidationException;

public function render($request, Throwable $exception)
{
    // 只在API请求(期望JSON响应)时生效
    if ($exception instanceof ValidationException && $request->expectsJson()) {
        return response()->json([
            'message' => '提交的数据不符合要求,请重新检查',
            'errors' => $exception->errors(),
        ], $exception->status);
    }

    return parent::render($request, $exception);
}

这个方法不会影响传统的表单提交页面,只会作用于API接口的JSON响应。

方法三:修改语言文件(最简单的全局方案)

还有个零代码的方式,直接改Laravel的语言配置文件。找到resources/lang/zh-CN/validation.php(如果是英文环境就找en/validation.php),里面有个failed键,对应的就是默认的"The given data was invalid.",直接替换成你想要的文本:

// resources/lang/zh-CN/validation.php
return [
    // ... 其他翻译项 ...
    'failed' => '验证失败,请检查提交的数据',
    // ...
];

这个方法会全局生效,不管是API还是页面的验证错误提示,都会用你修改后的文本。

你可以根据自己的需求选对应的方法:单个请求定制用方法一,API全局统一用方法二,全项目所有场景统一用方法三。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:01:31