diff --git a/src/components/Form/FormProvider.tsx b/src/components/Form/FormProvider.tsx index 4c92ae1b64645..177128b7cfa19 100644 --- a/src/components/Form/FormProvider.tsx +++ b/src/components/Form/FormProvider.tsx @@ -5,6 +5,7 @@ import React, {createRef, useCallback, useEffect, useImperativeHandle, useMemo, import {InteractionManager} from 'react-native'; import type {StyleProp, TextInputSubmitEditingEvent, ViewStyle} from 'react-native'; import {useInputBlurContext} from '@components/InputBlurContext'; +import type {LocalizedTranslate} from '@components/LocaleContextProvider'; import useDebounceNonReactive from '@hooks/useDebounceNonReactive'; import useLocalize from '@hooks/useLocalize'; import useOnyx from '@hooks/useOnyx'; @@ -52,7 +53,7 @@ type FormProviderProps = FormProps}) => ReactNode) | ReactNode; /** Callback to validate the form */ - validate?: (values: FormOnyxValues) => FormInputErrors; + validate?: (values: FormOnyxValues, translate: LocalizedTranslate) => FormInputErrors; /** Should validate function be called when input loose focus */ shouldValidateOnBlur?: boolean; @@ -149,7 +150,7 @@ function FormProvider({ } clearErrorFields(formID); - const validateErrors: GenericFormInputErrors = validate?.(trimmedStringValues) ?? {}; + const validateErrors: GenericFormInputErrors = validate?.(trimmedStringValues, translate) ?? {}; if (!allowHTML) { // Validate the input for html tags. It should supersede any other error diff --git a/src/libs/actions/BankAccounts.ts b/src/libs/actions/BankAccounts.ts index 4e3b1f0c9c86c..6c135097e9e5c 100644 --- a/src/libs/actions/BankAccounts.ts +++ b/src/libs/actions/BankAccounts.ts @@ -1,6 +1,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import Onyx from 'react-native-onyx'; import type {FormInputErrors, FormOnyxValues} from '@components/Form/types'; +import type {LocalizedTranslate} from '@components/LocaleContextProvider'; import type {OnfidoDataWithApplicantID} from '@components/Onfido/types'; import * as API from '@libs/API'; import type { @@ -21,8 +22,6 @@ import type {SaveCorpayOnboardingCompanyDetails} from '@libs/API/parameters/Save import type SaveCorpayOnboardingDirectorInformationParams from '@libs/API/parameters/SaveCorpayOnboardingDirectorInformationParams'; import {READ_COMMANDS, WRITE_COMMANDS} from '@libs/API/types'; import {getMicroSecondOnyxErrorWithTranslationKey} from '@libs/ErrorUtils'; -// eslint-disable-next-line @typescript-eslint/no-deprecated -import {translateLocal} from '@libs/Localize'; import Navigation from '@libs/Navigation/Navigation'; import {getPersonalPolicy} from '@libs/PolicyUtils'; import CONST from '@src/CONST'; @@ -1178,12 +1177,11 @@ function setReimbursementAccountLoading(isLoading: boolean) { Onyx.merge(ONYXKEYS.REIMBURSEMENT_ACCOUNT, {isLoading}); } -function validatePlaidSelection(values: FormOnyxValues): FormInputErrors { +function validatePlaidSelection(values: FormOnyxValues, translate: LocalizedTranslate): FormInputErrors { const errorFields: FormInputErrors = {}; if (!values.selectedPlaidAccountID) { - // eslint-disable-next-line @typescript-eslint/no-deprecated - errorFields.selectedPlaidAccountID = translateLocal('bankAccount.error.youNeedToSelectAnOption'); + errorFields.selectedPlaidAccountID = translate('bankAccount.error.youNeedToSelectAnOption'); } return errorFields;