FlowDrop Workflow Specification 1.0-draft

A resolved value is validated against the parameter schema

The rule

Normative: this is the rule
  1. A resolved value that is not null is validated against the parameter's schema.
  2. Any violation fails the node execution with a validation error carrying the name of the constraint that failed.
  3. type and enum are checked first, and either one failing ends the check there.
  4. A value that resolves to null is not validated at all; whether a null is acceptable is decided by required alone (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

A schema demanding an enum, a minimum length and a format
{ "type": "string", "enum": ["low", "high"], "minLength": 5, "format": "email" }
What resolving an explicit null against it returnsskipped
null

The 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