Php 我能';t从Laravel 5.5验证程序返回json
我有一个LaravelAPI端点来存储事件 我在: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 =
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