@@ -43,34 +43,33 @@ related:
4343
4444The ` additionalProperties ` keyword restricts object instance properties not
4545described by the _ sibling_ [ ` properties ` ] ({{< ref
46- "2020-12/applicator/properties"
47- > }}) and [ ` patternProperties ` ] ({{< ref "2020-12/applicator/patternproperties"
48- > }}) keywords (if any), to validate against the given subschema. Information
49- about the properties that this keyword was evaluated for is reported using
50- annotations.
46+ "2019-09/applicator/properties" >}}) and [ ` patternProperties ` ] ({{< ref
47+ "2019-09/applicator/patternproperties" >}}) keywords (if any), to validate
48+ against the given subschema. Information about the properties that this keyword
49+ was evaluated for is reported using annotations.
5150
5251{{<common-pitfall >}}The use of the [ ` properties ` ] ({{< ref
53- "2020-12 /applicator/properties" >}}) keyword ** does not prevent the presence of
54- other properties** in the object instance and ** does not enforce the presence
55- of the declared properties** . In other words, additional data that is not
56- explicitly prohibited is permitted by default. This is intended behaviour to
57- ease schema evolution (open schemas are backwards compatible by default) and to
58- enable highly-expressive constraint-driven schemas.
59-
60- If you want to restrict instances to only contain the properties you declared,
61- you must set this keyword to the boolean schema ` false ` , and if you want to
62- enforce the presence of certain properties, you must use the [ ` required ` ] ({{<
63- ref "2020-12 /validation/required" >}}) keyword accordingly.
52+ "2019-09 /applicator/properties" >}}) keyword ** does not prevent the presence
53+ of other properties** in the object instance and ** does not enforce the
54+ presence of the declared properties** . In other words, additional data that
55+ is not explicitly prohibited is permitted by default. This is intended
56+ behaviour to ease schema evolution (open schemas are backwards compatible by
57+ default) and to enable highly-expressive constraint-driven schemas.
58+
59+ If you want to restrict instances to only contain the properties you
60+ declared, you must set this keyword to the boolean schema ` false ` , and if you
61+ want to enforce the presence of certain properties, you must use the
62+ [ ` required ` ] ({{< ref "2019-09 /validation/required" >}}) keyword accordingly.
6463{{</common-pitfall >}}
6564
6665{{<learning-more >}}While the most common use of this keyword is setting it to
67- the boolean schema ` false ` to prevent additional properties, it is possible to
68- set it to a satisfiable schema. Doing this, while omitting the
69- [ ` properties ` ] ({{< ref "2020-12 /applicator/properties" >}}) and
70- [ ` patternProperties ` ] ({{< ref "2020-12 /applicator/patternproperties" >}})
66+ the boolean schema ` false ` to prevent additional properties, it is possible
67+ to set it to a satisfiable schema. Doing this, while omitting the
68+ [ ` properties ` ] ({{< ref "2019-09 /applicator/properties" >}}) and
69+ [ ` patternProperties ` ] ({{< ref "2019-09 /applicator/patternproperties" >}})
7170keywords, is an elegant way of describing how the value of every property in
72- the object instance must look like independently of its
73- name. {{</learning-more >}}
71+ the object instance must look like independently of its name.
72+ {{</learning-more >}}
7473
7574{{<constraint-warning ` object ` >}}
7675
0 commit comments