[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
dilson lana coelho costa
Criador dilson lana coelho costa 14/02/2021

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."

        ]

    }

}

 

 

Manager Carlos Ferreira 14/02/2021

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á.

Carlos Ferreira
Criador dilson lana coelho costa 14/02/2021

Ok, mas como adicionaria esse status: 0 no  array json da rules? Tem como?

dilson lana coelho costa
Criador dilson lana coelho costa 14/02/2021

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
dilson lana coelho costa
Manager Carlos Ferreira 14/02/2021

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

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!