minContains : Integer
minContains
IntegerThe number of times that the contains
keyword (if set) successfully validates against the instance must be greater than or equal to the given integer.
Value | This keyword must be set to a zero or positive integer |
---|---|
Kind | Assertion |
Applies To | Array |
Dialect | 2020-12 |
Changed In | None |
Introduced In | 2019-09 |
Vocabulary | Validation |
Specification | https://json-schema.org/draft/2020-12/json-schema-validation.html#section-6.4.5 |
Metaschema | https://json-schema.org/draft/2020-12/meta/validation |
Official Tests | draft2020-12/minContains.json |
Default |
0
|
Annotation | None |
Affected By | None |
Affects |
|
Also See |
|
The minContains
keyword is used in conjunction with the contains
keyword to specify the minimum number of items in an array instance that must validate against the contains
subschema.
- This keyword applies only to arrays.
- The value of this keyword must be a non-negative integer.
- If
contains
is not present within the same schema object, then this keyword has no effect.
Examples
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"contains": { "type": "string" },
"minContains": 2
}
[ "Car", "Bus", 1, 2, "Bike" ]
[ "Car", 1 ]
[]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"minContains": 2
}
// If contains is not present, 'minContains' has no effect on validation.
[ "John", false, 29, { "foo": "bar" }, [ 5, 7 ] ]
[]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"contains": { "type": "string" },
"minContains": 0
}
[ "John", false, 29, { "foo": "bar" }, [ 5, 7 ] ]
[]
- It is important to note that the
contains
keyword requires at least one item of the array instance to validate against its subschema. However, whenminContains
is set to 0, the schema would behave as if it does not have thecontains
keyword, as shown in the above example.