Expand description
CRUDUI list-spec structure validation (SPEC §9).
A list contains no row data, so this module performs only composition and forbidden-key scanning. The server supplies rows separately.
Pass 1 — compose (G5): compose_spec/compose_properties expand
$ref/$patch on the list root, the columns map, and the search
sub-form. An unresolved composition is a LOAD failure (ComposeLoadError),
never a silent pass — the same engine, the same error.
Pass 2 — forbidden-scan (§6): scan_forbidden_keys walks the COMPOSED list
tree (columns / each Column / open format-options bucket / actions / sort /
pagination / design / search) to ARBITRARY depth and rejects any forbidden
meta key (display_switch/if/when/show_if/x{key}…) as a LOAD failure.
The meta-schema separately checks closed objects, required columns, enums and
CellFormat polymorphism. This runtime does not repeat those shape checks. The
shared fixture tests/fixtures/list-validity/cases.json declares both results.
Structs§
- Validate
List Options - Options for a list-spec validation run (the form
ValidateOptionsshape — no data, so nodatafield).
Functions§
- validate_
list - Validate a list-spec’s STRUCTURE: compose (§5 G5) then forbidden-scan (§6).