如何在laravel 5.5.16中捕获422 Unprocessable entry?
我在发送http://127.0.0.1:8000/api/topics
API请求时收到以下错误消息。
我想自定义此错误。在这方面我想知道哪个类和函数产生此错误及其位置。
答案 0 :(得分:1)
当Laravel验证您的请求数据且数据错误,无效或无法处理时,会引发422错误。
如果要在额外的Request类中验证数据,可以添加message
方法来覆盖错误消息(更多信息here):
/**
* Get the error messages for the defined validation rules.
*
* @return array
*/
public function messages()
{
return [
'body.required' => 'A message is required',
];
}
如果您通过$request->validate(...)
验证Controller内的数据,则需要使用messages参数内嵌创建自己的Validator类(更多信息here):
$messages = [
'required' => 'The :attribute field is required.',
];
$validator = Validator::make($input, $rules, $messages);