diff --git a/components/forms/SettingsSubmit.tsx b/components/forms/SettingsSubmit.tsx index 63128473..182f11c5 100644 --- a/components/forms/SettingsSubmit.tsx +++ b/components/forms/SettingsSubmit.tsx @@ -227,8 +227,7 @@ function toDirectusData(target: Target, full: any) { for (const k of Object.keys(full)) { if (!allow.has(k)) continue; const v = full[k]; - // Avoid sending empty strings to Directus (common cause of "required" confusion) - if (v === "") continue; + if (v === "") continue; // avoid empty strings confusing required validation out[k] = v; } return out; @@ -804,8 +803,12 @@ export default function SettingsSubmit(props: CreateProps | EditProps) { target_slug, ...meta, data: directusData, + // 🔑 Compat for API route validators that expect top-level title + setting_title: directusData.setting_title, }) ); + // 🔑 Also add a flat field for extreme route handlers that read form fields directly + form.set("setting_title", String(directusData.setting_title || "")); if (photoFile) form.set("photo", photoFile, photoFile.name || "photo"); if (screenFile) form.set("screen", screenFile, screenFile.name || "screen"); @@ -820,6 +823,8 @@ export default function SettingsSubmit(props: CreateProps | EditProps) { target_slug, ...meta, data: directusData, + // 🔑 Compat for API route validators + setting_title: directusData.setting_title, }), credentials: "include", });