i am trying to return JSON of validation error messages in Lumen 7.2.1
At the moment Postman returns me this:
{
"last_name": [
"Pole zawiera niepoprawne znaki"
],
"email": [
"Email jest już zajęty"
]
}
I would like to return something like this:
{
errors: [
"last_name": [
"Pole zawiera niepoprawne znaki"
],
"email": [
"Email jest już zajęty"
]
]
}
This is my update method in controller:
/**
* 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);
}
}
I have tried adding $errors = ['name.required'...,] but the result was the same.