Skip to content

Commit 613ccb8

Browse files
Ashu96adrians5j
authored andcommitted
fix(app-headless-cms): add fieldIdValidator
1 parent f41de74 commit 613ccb8

File tree

1 file changed

+14
-2
lines changed
  • packages/app-headless-cms/src/admin/components/ContentModelEditor/Tabs/EditTab/EditFieldDialog

1 file changed

+14
-2
lines changed

packages/app-headless-cms/src/admin/components/ContentModelEditor/Tabs/EditTab/EditFieldDialog/GeneralTab.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,14 @@ const GeneralTab = ({ field, form, fieldPlugin }: GeneralTabProps) => {
3838
setValue("fieldId", camelCase(getValue(value)));
3939
}, []);
4040

41+
const fieldIdValidator = useCallback(fieldId => {
42+
if (fieldId.trim().toLowerCase() !== "id") {
43+
return true;
44+
}
45+
46+
throw new Error(`Cannot use "id" as Field ID.`);
47+
}, undefined);
48+
4149
const uniqueFieldIdValidator = useCallback(fieldId => {
4250
const existingField = getField({ fieldId });
4351
if (!existingField) {
@@ -47,7 +55,7 @@ const GeneralTab = ({ field, form, fieldPlugin }: GeneralTabProps) => {
4755
if (existingField._id === field._id) {
4856
return true;
4957
}
50-
throw new Error("Please enter a unique Field ID");
58+
throw new Error("Please enter a unique Field ID.");
5159
}, undefined);
5260

5361
let additionalSettings = null;
@@ -82,7 +90,11 @@ const GeneralTab = ({ field, form, fieldPlugin }: GeneralTabProps) => {
8290
<Cell span={6}>
8391
<Bind
8492
name={"fieldId"}
85-
validators={[validation.create("required"), uniqueFieldIdValidator]}
93+
validators={[
94+
validation.create("required"),
95+
uniqueFieldIdValidator,
96+
fieldIdValidator
97+
]}
8698
>
8799
<Input label={"Field ID"} disabled={!!field._id} />
88100
</Bind>

0 commit comments

Comments
 (0)