fix: manage backend authXService errors (#3190)

This commit is contained in:
Abhineet Jain
2022-07-26 15:39:45 -04:00
committed by GitHub
parent b19cf701c5
commit 0128ca6bd1
15 changed files with 230 additions and 118 deletions
+12
View File
@@ -1,3 +1,4 @@
import { hasApiFieldErrors, isApiError, mapApiErrorToFieldErrors } from "api/errors"
import { FormikContextType, FormikErrors, getIn } from "formik"
import { ChangeEvent, ChangeEventHandler, FocusEventHandler, ReactNode } from "react"
import * as Yup from "yup"
@@ -45,6 +46,17 @@ export const getFormHelpers =
}
}
export const getFormHelpersWithError = <T>(
form: FormikContextType<T>,
error?: Error | unknown,
): ((name: keyof T, HelperText?: ReactNode) => FormHelpers) => {
const apiValidationErrors =
isApiError(error) && hasApiFieldErrors(error)
? (mapApiErrorToFieldErrors(error.response.data) as FormikErrors<T>)
: undefined
return getFormHelpers(form, apiValidationErrors)
}
export const onChangeTrimmed =
<T>(form: FormikContextType<T>) =>
(event: ChangeEvent<HTMLInputElement>): void => {