Skip to content

Commit 10bc4af

Browse files
committed
Show user friendly field name in error text
1 parent 51d8bb7 commit 10bc4af

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

site/src/pages/TemplateSettingsPage/TemplateSettingsForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ export const TemplateSettingsForm: FC<TemplateSettingsForm> = ({
215215
</div>
216216

217217
<TextField
218-
{...getFieldHelpers("default_ttl_ms", <TTLHelperText ttl={form.values.default_ttl_ms} />)}
218+
{...getFieldHelpers("default_ttl_ms", <TTLHelperText ttl={form.values.default_ttl_ms} />, "Time until auto-stop")}
219219
disabled={isSubmitting}
220220
fullWidth
221221
inputProps={{ min: 0, step: 1 }}

site/src/util/formUtils.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,12 @@ interface FormHelpers {
3737
helperText?: ReactNode
3838
}
3939

40-
// backendErrorName can be used if the backend names a field differently than the frontend does
4140
export const getFormHelpers =
4241
<T>(form: FormikContextType<T>, error?: Error | unknown) =>
4342
(
4443
name: keyof T,
4544
HelperText: ReactNode = "",
46-
backendErrorName?: string,
45+
friendlyLabel?: string,
4746
): FormHelpers => {
4847
const apiValidationErrors =
4948
isApiError(error) && hasApiFieldErrors(error)
@@ -54,19 +53,19 @@ export const getFormHelpers =
5453
`name must be type of string, instead received '${typeof name}'`,
5554
)
5655
}
57-
const apiErrorName = backendErrorName ?? name
5856

5957
// getIn is a util function from Formik that gets at any depth of nesting
6058
// and is necessary for the types to work
6159
const touched = getIn(form.touched, name)
62-
const apiError = getIn(apiValidationErrors, apiErrorName)
60+
const apiError = getIn(apiValidationErrors, name)
6361
const frontendError = getIn(form.errors, name)
6462
const returnError = apiError ?? frontendError
63+
const friendlyError = friendlyLabel && returnError ? returnError.replace(name, friendlyLabel) : returnError
6564
return {
6665
...form.getFieldProps(name),
6766
id: name,
68-
error: touched && Boolean(returnError),
69-
helperText: touched ? returnError || HelperText : HelperText,
67+
error: touched && Boolean(friendlyError),
68+
helperText: touched ? friendlyError || HelperText : HelperText,
7069
}
7170
}
7271

0 commit comments

Comments
 (0)