4Manuals

  • PDF Cloud HOME

如何更改Laravel验证错误消息 Download

    通过dropzone laravel通过电子邮件发送多个图像 如何取消发布PHP Artisan Laravel模块 Laravel Eloquent仅获得一个具有关系和分页的特定领域 将SQL查询转换为Laravel雄辩 如何将构建反应应用程序(js,css)添加到laravel后端服务器 Laravel-即使未选中复选框,所有is_current也会更新 如何在Laravel中执行此查询 在下一个新标签页中无法打开Angular Module链接 Laravel:将当前视图名称传递给View Composer 使用php artisan migration的错误是Illuminate \ Database \ QueryException

我知道laravel为每个验证规则提供可自定义的错误消息,但是有没有办法更改json结果的message部分呢?我似乎在docs上找不到任何内容。

{
    "message": "The given data was invalid.",
    "errors": {
        "email": [
            "The email has already been taken."
        ]
    }
}

3 个答案:

答案 0 :(得分:3)

在您的场所班级上添加自定义消息,如下所示:

public static function messages($id = '') {
return [
    'name.required' => 'You must enter your name',
    'logo.required' => 'You must upload logo',
    'key.rules' => 'your messages'
];

然后在控制器上添加消息作为第三个参数。

$this->validate($request, Venue::rules(), Venue::messages());

答案 1 :(得分:1)

您绝对可以创建自己的Exception类,并指示laravel使用它来答复响应。

假设您自己的自定义Exception类为Illuminate\Http\Exceptions\HttpResponseException,则只需在表单请求类中覆盖failedValidation方法,并具有类似的内容。

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

...

/**
 * @param Validator $validator
 * @throws HttpResponseException
 */
protected function failedValidation(Validator $validator)
{
    throw new HttpResponseException(
        response()->json(
            [
                'message' => 'My message',
                'errors' => $validator->errors()->get('*') //or ->all() instead of get()
            ],
            Response::HTTP_UNPROCESSABLE_ENTITY
        )
    );
}

以上内容将确保使用您的自定义错误响应格式。您还可以将其添加到Trait并将其包含在所有请求类中,或者仅创建其他人应该扩展的基本Request类。

答案 2 :(得分:1)

“给定数据无效。”消息实际上是异常类消息,该消息不容易配置:

https://github.com/laravel/framework/blob/e04a7ffba8b80b934506783a7d0a161dd52eb2ef/src/Illuminate/Validation/ValidationException.php#L46-L56



Similar searches
    我发送了令牌,但仍然收到错误:( 将实例设置为max(B8)之后,“ OpenBLAS警告-不能确定此系统上的L2缓存大小,假定为256k” 想知道SSL证书如何激活90天 我不知道(未解决的编译问题:) 实体框架嵌套查询Select()问题