Search code examples
phpslim

Slim return response with status 400 and redirect


Hi I am trying to return a status code of 400 if a post request fails and then redirect the user back to the page they ent the post from.

I have tried the following examples:

return $response->withRedirect('/view/companies', 400);

this just returns a white page

return $response->withStatus(400);

this just returns a white page

return $response->withJson([], 400);

this just returns a white page with this at the top enter image description here

return $response->withRedirect('/view/companies');

this returns the user back to the page but doesn't through the 400 error.


Solution

  • According to https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections

    HTTP redirects are responses with a status code of 3xx.

    Thus a redirect with a status code of 400 is not possible (although it worked in Slim up to version 3.9, see https://github.com/slimphp/Slim/issues/2355).