【发布时间】:2023-04-09 13:02:01
【问题描述】:
我需要在 Lumen 中自定义验证响应,如下所示
{
"result": null,
"count": 0,
"statusCode": -1,
"statusMessage": "...."
}
如您所见,无论发生多少错误,都必须显示一条状态消息。为此,我在基本控制器中添加了以下功能
protected function buildFailedValidationResponse(Request $request, array $errors)
{
$string = null;
foreach ($errors as $error)
{
$string = $error[0];
break;
}
return [
"result" => null,
"count" => 0,
"statusCode" => -1,
"statusMessage" => $string
];
}
这是dd($errors)的结果
array:2 [
"user_id" => array:1 [
0 => "The user id field is required."
]
"asd" => array:1 [
0 => "The asd field is required."
]
]
它有效,但看起来很乱!如何返回第一个错误的消息?
【问题讨论】:
-
试试 $errors[0][0]
-
$erros['user_id'] 存在但未找到 $errors[0]
-
errors 对象有自己的
$errors->first(),因为它是一个集合。