else : Schema
else
SchemaWhen if
is present, and the instance fails to validate against its subschema, then validation succeeds against this keyword if the instance successfully validates against this keyword’s subschema.
Kind | Applicator |
---|---|
Applies To | Any |
Dialect | 2020-12 |
Introduced In | Draft 7 |
Vocabulary | Applicator |
Specification | https://json-schema.org/draft/2020-12/json-schema-core.html#section-10.2.2.3 |
Metaschema | https://json-schema.org/draft/2020-12/meta/applicator |
Affected By |
|
Also see |
|
The else
keyword is used in conjunction with if
to define a schema to be applied when a condition specified in the if
keyword is false. It allows you to define alternative validation rules for instances that do not satisfy the conditions specified in the if
keyword.
- The value of this keyword must be a valid JSON Schema.
- This keyword has no effect when
if
is absent. - This keyword has no effect when the instance passes validation against the
if
subschema.
Examples
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"if": {
"properties":
{ "foo": { "const": "foo" }
}
},
"then": { "required": [ "bar" ] },
"else": { "required": [ "baz" ] }
}
{ "foo": "foo", "bar": "bar" }
{ "foo": "foo" }
{ "foo": "not foo", "baz": "baz" }
{ "foo": "not foo" }
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"if": {
"properties":
{ "foo": { "const": "foo" }
}
},
"else": { "required": [ "baz" ] }
}
{ "foo": "not foo", "baz": "baz" }
{ "foo": "not foo" }
{ "foo": "foo", "baz": "baz" }