From bc6de825e87eceacee7ecc0b17469ebc3cfad4fa Mon Sep 17 00:00:00 2001 From: Najuna Date: Tue, 10 Feb 2026 21:26:16 +0300 Subject: [PATCH] feat(formplayer): enable AJV $data cross-field validation --- formulus-formplayer/src/App.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/formulus-formplayer/src/App.tsx b/formulus-formplayer/src/App.tsx index a7d387561..35193a03e 100644 --- a/formulus-formplayer/src/App.tsx +++ b/formulus-formplayer/src/App.tsx @@ -734,6 +734,9 @@ function App() { ({ data }: { data: FormData }) => { setData(data); + // Expose current form data globally for extension renderers + (window as any).formulusCurrentFormData = data; + // Save draft data whenever form data changes if (formInitData) { draftService.saveDraft(formInitData.formType, data, formInitData); @@ -747,6 +750,7 @@ function App() { const instance = new Ajv({ allErrors: true, strict: false, // Allow custom keywords like x-formulus-validation + $data: true, // Enable cross-field validation via $data references (e.g., {"const": {"$data": "1/otherField"}}) }); addErrors(instance); addFormats(instance);