You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/2020-12/unevaluated/unevaluatedProperties.markdown
+48-12Lines changed: 48 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,18 +27,54 @@ related:
27
27
keyword: unevaluatedItems
28
28
---
29
29
30
-
Validation with `unevaluatedProperties` applies only to the child values of instance names that do not appear in the `properties`, `patternProperties`, `additionalProperties`, or `unevaluatedProperties` annotation results that apply to the instance location being validated. For all such properties, validation succeeds if the child instance validates against the `unevaluatedProperties` schema.
31
-
32
-
## Evaluation
33
-
34
-
It's crucial to understand what evaluation means in this context.
35
-
36
-
`unevaluatedProperties` considers annotations from `properties`, `patternProperties`, and `additionalProperties`, both as adjacent keywords and in subschemas of adjacent keywords. Additionally, it is also affected by other `unevaluatedProperties` in nested schemas (if present).
37
-
38
-
- The keywords `properties`, `patternProperties`, `additionalProperties`, and `unevaluatedProperties` produce annotations for the properties they successfully validate against.
39
-
- If any of these keywords generate an annotation for a particular property at the same instance location (independently of the schema location), that property is considered as evaluated.
40
-
- By definition, the `unevaluatedProperties` subschema is always applied after `properties`, `patternProperties`, and `additionalProperties` subschemas.
41
-
- As its name implies, `unevaluatedProperties` applies to any object property that has not been previously evaluated.
30
+
The [`unevaluatedProperties`]({{< ref
31
+
"2020-12/unevaluated/unevaluatedproperties" >}}) keyword is a generalisation of
32
+
the [`additionalProperties`]({{< ref "2020-12/applicator/additionalproperties"
33
+
>}}) keyword that considers related keywords even when they are not direct
34
+
siblings of this keyword. More specifically, this keyword is affected by
35
+
occurences of [`properties`]({{< ref "2020-12/applicator/properties" >}}),
0 commit comments