Formatar Json
Boa noite, tenho essa rules de validação, e queria formatar o retorno do json para ela ficar assim, como no exemplo abaixo, como eu faria?
{
'status' => 0
"msg": "The given data was invalid.",
"errors": {
"name": [
"Nome é obrigatório!"
],
"category_id": [
"The category id field is required."
]
}
}
Olá, Dilson!
Tudo bem?
Com exceção do status, o retorno padrão de erro de validação em APIs de Laravel é esse mesmo.
Mas, vale considerar que esse status é inútil, porque se o frontend depende dele para validar (e não do http status code) está bem errado a lógica lá.
Ok, mas como adicionaria esse status: 0 no array json da rules? Tem como?
A minha dúvida é, como eu faço, para quando bater no rules e dar erro, eu retornar:
return response()->json([
'success'=>true,
'message' => $errors
], 400);
exemplo
Tem como sim amigo, claro.
Embora não seja uma prática enxuta de código, é possível sim:
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
if ($validator->fails()) {
return response()->json([
'success' => false,
'errors' => $validator->errors
], 422);
}
}
https://laravel.com/docs/8.x/validation#manually-creating-validators
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!