Skip to content

Commit d9b7219

Browse files
authored
Merge pull request Expensify#77830 from nyomanjyotisa/issue-76681
Add duplicate name validation in report field name input modal
2 parents 83e8ee7 + 14986b5 commit d9b7219

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

src/pages/workspace/reports/CreateReportFieldsPage.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,18 @@ function WorkspaceCreateReportFieldsPage({
123123
[availableListValuesLength, policy?.fieldList, translate],
124124
);
125125

126+
const validateName = useCallback(
127+
(values: Record<string, string>) => {
128+
const errors: Record<string, string> = {};
129+
const name = values[INPUT_IDS.NAME];
130+
if (Object.values(policy?.fieldList ?? {}).some((reportField) => reportField.name === name)) {
131+
errors[INPUT_IDS.NAME] = translate('workspace.reportFields.existingReportFieldNameError');
132+
}
133+
return errors;
134+
},
135+
[policy?.fieldList, translate],
136+
);
137+
126138
const handleOnValueCommitted = useCallback(
127139
(inputValues: FormOnyxValues<typeof ONYXKEYS.FORMS.WORKSPACE_REPORT_FIELDS_FORM>) => (initialValue: string) => {
128140
// Mirror optimisticType logic from createReportField: if user enters a formula
@@ -193,6 +205,7 @@ function WorkspaceCreateReportFieldsPage({
193205
multiline={false}
194206
role={CONST.ROLE.PRESENTATION}
195207
required
208+
customValidate={validateName}
196209
/>
197210
<InputWrapper
198211
InputComponent={TypeSelector}

0 commit comments

Comments
 (0)