feat(form-builder): FormFieldValidationRuleService + legacy backfill + snapshot + library row-copy

This commit is contained in:
2026-04-24 22:12:08 +02:00
parent fedaed1b32
commit 800b1b6c01
16 changed files with 1430 additions and 18 deletions

View File

@@ -34,6 +34,7 @@ final class FormSubmissionService
private readonly FormLocaleResolver $localeResolver,
private readonly FormValueService $valueService,
private readonly FormFieldBindingService $bindingService,
private readonly FormFieldValidationRuleService $validationRuleService,
) {}
/**
@@ -200,7 +201,7 @@ final class FormSubmissionService
*/
private function buildSnapshot(FormSchema $schema): array
{
$schema->loadMissing(['fields.bindings', 'sections']);
$schema->loadMissing(['fields.bindings', 'fields.validationRules', 'sections']);
return [
'schema_version' => $schema->version,
@@ -232,7 +233,7 @@ final class FormSubmissionService
'help_text' => $f->help_text,
'section_slug' => $this->sectionSlug($schema, $f->form_schema_section_id),
'options' => $f->options,
'validation_rules' => $f->validation_rules,
'validation_rules' => $this->validationRuleService->toJsonShape($f->validationRules),
'is_required' => (bool) $f->is_required,
'is_filterable' => (bool) $f->is_filterable,
'is_pii' => (bool) $f->is_pii,