Skip to content

Commit cf666f7

Browse files
MelvinBotmadmax330
andcommitted
Fix upload error not showing when form validation error already present
When a form has a 'Field is required' validation error and the user then picks an oversized file, the size error was hidden because form validation errors (errors[inputID]) take precedence over errorFields in FormProvider. Clear form validation errors before setting upload-specific error fields. Co-authored-by: Maxence Coulibaly <madmax330@users.noreply.github.com>
1 parent 1839dd8 commit cf666f7

3 files changed

Lines changed: 5 additions & 2 deletions

File tree

src/components/SubStepForms/DocusignFullStep.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ function DocusignFullStep<TFormID extends keyof OnyxFormValuesMapping>({
8787
return;
8888
}
8989

90+
clearErrors(formID);
9091
setErrorFields(formID, {[inputID]: {onUpload: error}});
9192
};
9293

src/pages/ReimbursementAccount/NonUSD/BeneficialOwnerInfo/BeneficialOwnerDetailsFormSubSteps/Documents.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import useThemeStyles from '@hooks/useThemeStyles';
1313
import {getFieldRequiredErrors} from '@libs/ValidationUtils';
1414
import getCurrencyForNonUSDBankAccount from '@pages/ReimbursementAccount/NonUSD/utils/getCurrencyForNonUSDBankAccount';
1515
import getNeededDocumentsStatusForBeneficialOwner from '@pages/ReimbursementAccount/NonUSD/utils/getNeededDocumentsStatusForBeneficialOwner';
16-
import {clearErrorFields, setDraftValues, setErrorFields} from '@userActions/FormActions';
16+
import {clearErrorFields, clearErrors, setDraftValues, setErrorFields} from '@userActions/FormActions';
1717
import CONST from '@src/CONST';
1818
import ONYXKEYS from '@src/ONYXKEYS';
1919
import type {FileObject} from '@src/types/utils/Attachment';
@@ -78,6 +78,7 @@ function Documents({onNext, isEditing, ownerBeingModifiedID}: DocumentsProps) {
7878
return;
7979
}
8080

81+
clearErrors(ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM);
8182
setErrorFields(ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM, {[inputID]: {onUpload: error}});
8283
};
8384

src/pages/ReimbursementAccount/NonUSD/SignerInfo/subSteps/UploadDocuments.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {getFieldRequiredErrors} from '@libs/ValidationUtils';
1717
import getCurrencyForNonUSDBankAccount from '@pages/ReimbursementAccount/NonUSD/utils/getCurrencyForNonUSDBankAccount';
1818
import getNeededDocumentsStatusForSignerInfo from '@pages/ReimbursementAccount/utils/getNeededDocumentsStatusForSignerInfo';
1919
import WhyLink from '@pages/ReimbursementAccount/WhyLink';
20-
import {clearErrorFields, setDraftValues, setErrorFields} from '@userActions/FormActions';
20+
import {clearErrorFields, clearErrors, setDraftValues, setErrorFields} from '@userActions/FormActions';
2121
import {openExternalLink} from '@userActions/Link';
2222
import CONST from '@src/CONST';
2323
import ONYXKEYS from '@src/ONYXKEYS';
@@ -97,6 +97,7 @@ function UploadDocuments({onNext, isEditing}: UploadDocumentsProps) {
9797
return;
9898
}
9999

100+
clearErrors(ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM);
100101
setErrorFields(ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM, {[inputID]: {onUpload: error}});
101102
};
102103

0 commit comments

Comments
 (0)