Error code for an invalid POST parameter
Asked Answered
C

2

8

What's the proper error code to return when a POST request has an invalid parameter? Say: a form takes data for an event, but the date provided is in the past; or a form takes data for a user registration, but the name provided is a number or any invalid person name.

Charissa answered 20/10, 2011 at 10:52 Comment(1)
possible duplicate of REST response code for invalid dataLetterperfect
S
7

11.2. 422 Unprocessable Entity

The 422 (Unprocessable Entity) status code means the server
understands the content type of the request entity (hence a
415(Unsupported Media Type) status code is inappropriate), and the
syntax of the request entity is correct (thus a 400 (Bad Request)
status code is inappropriate) but was unable to process the contained instructions. For example, this error condition may occur if an XML
request body contains well-formed (i.e., syntactically correct), but
semantically erroneous, XML instructions.

(From RFC 4918)

Spies answered 20/11, 2014 at 12:12 Comment(0)
L
0

i would personally opt for: 400 Bad Request

the error should be in the 4xx range which represents client errors, because it is the responsibility of the client to transmit valid data.

anyway, you can have a look at a list of standard HTTP response codes and chose one that seems to fit your need.

Letterperfect answered 20/10, 2011 at 10:56 Comment(4)
Isn't 400 reserved for bad syntax? An invalid parameter may be invalid but syntactically correct.Huth
the rfc says: "The request could not be understood by the server due to malformed syntax", but sending a number instead of a date is a bad syntax, although the client can send the request. specifically, the query parameters can be considered as a part of the request, and can thus trigger some errors. error "409 Conflict" is such a good example.Letterperfect
Sending a number instead of a date is bad syntax, but sending an invalid date in the place of a date is not. What should I use then?Huth
We've tried to clarify this in httpbis, see svn.tools.ietf.org/svn/wg/httpbis/draft-ietf-httpbis/latest/…Pintle

© 2022 - 2024 — McMap. All rights reserved.