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);