【发布时间】:2020-12-11 20:21:06
【问题描述】:
我正在尝试在 Lumen 7.2.1 中返回验证错误消息的 JSON
目前邮递员返回给我这个:
{
"last_name": [
"Pole zawiera niepoprawne znaki"
],
"email": [
"Email jest już zajęty"
]
}
我想返回这样的东西:
{
errors: [
"last_name": [
"Pole zawiera niepoprawne znaki"
],
"email": [
"Email jest już zajęty"
]
]
}
这是我在控制器中的更新方法:
/**
* Update user
*
* @param Request $request
* @param $id
* @return JsonResponse
* @throws ValidationException
*/
public function update(Request $request, $id)
{
//validate incoming request
$this->validate($request,
[
'name' => 'required|string|alpha',
'last_name' => 'required|string|alpha',
'email' => 'required|email|unique:users',
],
[
'name.required' => 'Pole Imię jest wymagane',
'name.alpha' => 'Pole zawiera niepoprawne znaki',
'last_name.required' => 'Pole Nazwisko jest wymagane',
'last_name.alpha' => 'Pole zawiera niepoprawne znaki',
'email.required' => 'Pole Email jest wymagane',
'email.email' => 'Niepoprawny email',
'email.unique' => 'Email jest już zajęty',
]);
try {
$user = User::findorFail($id);
$user->update($request->all());
return response()->json(['data' => $user], 200);
} catch (\Exception $e) {
return response()->json(['message' => 'User Update Failed!'], 409);
}
}
我尝试添加 $errors = ['name.required'...,] 但结果是一样的。
【问题讨论】:
-
检查这个:stackoverflow.com/questions/46857342/… 让我知道它是否有效 :)
-
谢谢,但我会使用下面列出的方法