Validation
Partial Field Validation
Describe, resolve, and validate partial field subsets.
Describe and resolve fields
API signatures:
FormInstance::describeFields(): arrayFormInstance::resolveField(string $identifier): ?arrayFormInstance::exportableFields(): arrayFormInstance::flattenExportableFields(): arrayFormInstance::validateExportableHeaders(array $headers): arrayFormInstance::mapExportableRow(array $row, bool $strict = true): arrayFormManager::describeFields(string $formKey, ?string $version = null): arrayFormManager::resolveField(string $formKey, string $identifier, ?string $version = null): ?arrayFormManager::exportableFields(string $formKey, ?string $version = null): arrayFormManager::flattenExportableFields(string $formKey, ?string $version = null): arrayFormManager::validateExportableHeaders(string $formKey, array $headers, ?string $version = null): arrayFormManager::mapExportableRow(string $formKey, array $row, ?string $version = null, bool $strict = true): arrayScopedFormManager::describeFields(string $formKey, ?string $version = null): arrayScopedFormManager::resolveField(string $formKey, string $identifier, ?string $version = null): ?arrayScopedFormManager::exportableFields(string $formKey, ?string $version = null): arrayScopedFormManager::flattenExportableFields(string $formKey, ?string $version = null): arrayScopedFormManager::validateExportableHeaders(string $formKey, array $headers, ?string $version = null): arrayScopedFormManager::mapExportableRow(string $formKey, array $row, ?string $version = null, bool $strict = true): array
Descriptor shape:
name(canonical key)field_key,key,id,label(nullable)typerequired(bool)rules(array)options(array, empty when not relevant)default(mixed)lookup_keys(array<string>, ordered unique aliases used by resolver)
Exportable field shape:
id(stable identifier for export/import mappings)path(logical path, including composite subfield paths likeaddress.line1)label(human-readable column label)type(field type)field_key,field_name,page_keyrequired,visible,disabledcomposite(bool)parentandsubfieldmetadata for composite fieldsrulesandmetafor import and validation consumers
Validate partial field subsets
API signatures:
FormInstance::validateFields(array $payload, array $onlyFields = [], ?string $locale = null): arrayFormManager::validateFields(string $formKey, array $payload, array $onlyFields = [], ?string $version = null, ?string $locale = null): arrayScopedFormManager::validateFields(string $formKey, array $payload, array $onlyFields = [], ?string $version = null, ?string $locale = null): array
Behavior:
onlyFields = []: validate only keys present in payload that resolve to known fieldsonlyFields != []: validate strictly the requested subset- identifiers in
onlyFieldsmay be aliases (name,field_key,key,id) - errors are returned by canonical
name - unknown payload keys are ignored in this partial flow
- unresolved identifiers in
onlyFieldsreturn explicit per-identifier errors