流明 laravel: 如何 return 第一个错误的消息?
lumen laravel: How to return the message of the first error?
我需要在 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."
]
]
可以用,但看起来很乱!我怎样才能 return 第一个错误的消息?
如果你的数组是这样的:
$array = [
"user_id"=> [
0 => "sssss"
],
"asd"=> [
0 => "ttttt"
]
];
这对你有帮助:
return reset($array)[0];
结果:sssss
充分利用 Collections。如果 $errors
已经是 collection(肯定是 ErrorBag
),您可以将其作为数组错误然后 flatten 它们。
$errors = collect($errors);
$string = $errors->flatten()->first();
我需要在 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."
]
]
可以用,但看起来很乱!我怎样才能 return 第一个错误的消息?
如果你的数组是这样的:
$array = [
"user_id"=> [
0 => "sssss"
],
"asd"=> [
0 => "ttttt"
]
];
这对你有帮助:
return reset($array)[0];
结果:sssss
充分利用 Collections。如果 $errors
已经是 collection(肯定是 ErrorBag
),您可以将其作为数组错误然后 flatten 它们。
$errors = collect($errors);
$string = $errors->flatten()->first();