request.invalid
A field breaks a rule: too long, the wrong format, out of range
Request intents
Example
return fail('request.invalid', 'Use 1–32 lowercase letters, numbers, or hyphens.');HTTP 422
{
"ok": false,
"error": "Use 1–32 lowercase letters, numbers, or hyphens.",
"code": "request.invalid"
}Choosing between neighbours
Find the row that describes your case, and use the intent on the right.
If it is
Use
A field breaks a rule: too long, the wrong format, out of range
request.invalidthis pageA value that is fine on its own but clashes with existing data, like a taken handle
conflict.duplicateA readable request with a wrong value
rather thanrequest.malformedrequest.invalidthis pageAnything the caller did wrong
rather thanfailure.internalrequest.invalidthis page
Connections
Declared in the registry, both directions. Where an intent is used in your own code is something check and the gallery see; this site has no app code.
- Built from
For registry authors
Starter intents. These are the intents prongs add errors puts in your registry, raised with fail(). Change the messages to suit your app, and the statuses through the status.* intents they are built from.
The entry prongs add errors writes into your registry. Change the message here, or the status through its status.* ref.
'request.invalid': {
kind: 'semantic',
description: 'A field breaks a rule: too long, the wrong format, out of range',
refs: ['status.unprocessable'],
keywords: ['validation', 'invalid', 'too long', 'format'],
notFor: [
{
context: 'a value that is fine on its own but clashes with existing data, like a taken handle',
instead: 'conflict.duplicate',
},
],
binding: { publicMessage: 'Check what you entered.' },
},