A resolved value is validated against the parameter schema
The rule
Normative: this is the rule
- A resolved value that is not null is validated against the parameter's schema.
- Any violation fails the node execution with a validation error carrying the name of the constraint that failed.
typeandenumare checked first, and either one failing ends the check there.- A value that resolves to null is not validated at all; whether a null is acceptable is decided by
requiredalone (CFG-9).
What it means
A resolved value is validated only when it is something. Null is not a value
that happens to satisfy every constraint a schema names — it is exempted from
the check altogether. A schema can demand an enum, a minimum length and a
format all at once, and a resolved null still passes straight through:
none of them run. Whether that null is acceptable in the first place is a
different question: CFG-9 answers it, not this rule. A parameter this
permissive can still fail the node for being required and missing, but never
for a shape or format it never had.
Example
{ "type": "string", "enum": ["low", "high"], "minLength": 5, "format": "email" }nullThe enum, the length and the format all sit unused; only CFG-9's required check would still have a say over this null.
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · CFG-10 · changed in spec 1.0