Validation Vocabulary Official Included By Default
A vocabulary that defines keywords that impose requirements for successful validation of an instance.
| Base Dialect | 2020-12 |
|---|---|
| URI | https://json-schema.org/draft/2020-12/vocab/validation |
| Specification | https://json-schema.org/draft/2020-12/json-schema-validation.html#section-6 |
| Authors | |
| Metaschema | https://json-schema.org/draft/2020-12/meta/validation |
| Also see |
Your metaschema is likely already declaring this vocabulary
This vocabulary is included by default when using the official metaschema of this base dialect: https://json-schema.org/draft/2020-12/schema. Unless you are using a custom metaschema, there is nothing else you need to do.
To make use of this vocabulary, modify your metaschema to declare the use of this vocabulary using the $vocabulary keyword and evaluate its metaschema. If the vocabulary must be present for an implementation to proceed:
{
...
"$vocabulary": {
...
"https://json-schema.org/draft/2020-12/vocab/validation": true
},
"allOf": [
{ "$ref": "https://json-schema.org/draft/2020-12/meta/validation" }
]
}Otherwise, if it is optional for implementations to understand this vocabulary to proceed:
{
...
"$vocabulary": {
...
"https://json-schema.org/draft/2020-12/vocab/validation": false
},
"allOf": [
{ "$ref": "https://json-schema.org/draft/2020-12/meta/validation" }
]
}Keywords
| Keyword | Kind | Instance | Summary |
|---|---|---|---|
| type | Assertion | Any | Validation succeeds if the type of the instance matches the type represented by the given type, or matches at least one of the given types. |
| enum | Assertion | Any | Validation succeeds if the instance is equal to one of the elements in this keyword’s array value. |
| const | Assertion | Any | Validation succeeds if the instance is equal to this keyword’s value. |
| maxLength | Assertion | String | A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword. |
| minLength | Assertion | String | A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword. |
| pattern | Assertion | String | A string instance is considered valid if the regular expression matches the instance successfully. |
| exclusiveMaximum | Assertion | Number | Validation succeeds if the numeric instance is less than the given number. |
| exclusiveMinimum | Assertion | Number | Validation succeeds if the numeric instance is greater than the given number. |
| maximum | Assertion | Number | Validation succeeds if the numeric instance is less than or equal to the given number. |
| minimum | Assertion | Number | Validation succeeds if the numeric instance is greater than or equal to the given number. |
| multipleOf | Assertion | Number | A numeric instance is valid only if division by this keyword’s value results in an integer. |
| dependentRequired | Assertion | Object | Validation succeeds if, for each name that appears in both the instance and as a name within this keyword’s value, every item in the corresponding array is also the name of a property in the instance. |
| maxProperties | Assertion | Object | An object instance is valid if its number of properties is less than, or equal to, the value of this keyword. |
| minProperties | Assertion | Object | An object instance is valid if its number of properties is greater than, or equal to, the value of this keyword. |
| required | Assertion | Object | An object instance is valid against this keyword if every item in the array is the name of a property in the instance. |
| maxItems | Assertion | Array | An array instance is valid if its size is less than, or equal to, the value of this keyword. |
| minItems | Assertion | Array | An array instance is valid if its size is greater than, or equal to, the value of this keyword. |
| maxContains | Assertion | Array | The number of times that the contains keyword (if set) successfully validates against the instance must be less than or equal to the given integer. |
| minContains | Assertion | Array | The number of times that the contains keyword (if set) successfully validates against the instance must be greater than or equal to the given integer. |
| uniqueItems | Assertion | Array | If this keyword is set to the boolean value true, the instance validates successfully if all of its elements are unique. |