Php 我能';t从Laravel 5.5验证程序返回json

Php 我能';t从Laravel 5.5验证程序返回json,php,laravel,validation,request,laravel-5.5,Php,Laravel,Validation,Request,Laravel 5.5,我有一个LaravelAPI端点来存储事件 我在:StoreEventRequest中添加了此方法以改进错误响应: /** * Reformat Errors. * * @param Validator $validator * * @return array */ protected function withValidator(Validator $validator) { if ($this->wantsJson()) { $messages =

我有一个LaravelAPI端点来存储事件

我在:
StoreEventRequest
中添加了此方法以改进错误响应:

/**
 * Reformat Errors.
 *
 * @param Validator $validator
 *
 * @return array
 */
protected function withValidator(Validator $validator)
{
    if ($this->wantsJson()) {
        $messages = reformatMessages($validator->messages());
        dd($messages); // If I do this I can see the messages, otherwise response is blank.
        return response()->json([
            'success' => false,
            'message' => $messages
        ]);
    }

    return $validator->messages()->toArray();
}
但是,如果缺少参数,则响应为空。如果我
dd
我可以看到格式良好的消息,但是
return
没有返回任何消息

我在测试邮递员。

试试看

protected function withValidator(Validator $validator)
{
    if ($this->wantsJson()) {
        $messages = reformatMessages($validator->messages());
        throw new HttpResponseException(response()->json($messages, 422));
    }

    return $validator->messages()->toArray();
}

是否尝试将http响应代码作为第二个参数添加到函数调用中

return response()->json([
     'success' => false,
     'message' => $messages

], 400); // 400 is the response code