From 56e734f9da06ea560dea601cc0153042e51b9fa4 Mon Sep 17 00:00:00 2001 From: tienifr Date: Sat, 10 Jun 2023 15:00:06 +0700 Subject: [PATCH 1/4] add client check to display error when routing and account number are similar --- src/components/Form.js | 7 +++++++ src/languages/en.js | 1 + src/languages/es.js | 1 + src/pages/ReimbursementAccount/BankAccountManualStep.js | 3 +++ 4 files changed, 12 insertions(+) diff --git a/src/components/Form.js b/src/components/Form.js index 578081ad067..d633f24daac 100644 --- a/src/components/Form.js +++ b/src/components/Form.js @@ -95,6 +95,8 @@ const Form = (props) => { const inputRefs = useRef({}); const touchedInputs = useRef({}); + const isInitialRender = useRef(false); + const {validate, translate, onSubmit, children} = props; /** @@ -145,6 +147,11 @@ const Form = (props) => { ); useEffect(() => { + if (!isInitialRender.current) { + isInitialRender.current = true; + return; + } + onValidate(inputValues); }, [onValidate, inputValues]); diff --git a/src/languages/en.js b/src/languages/en.js index 4602931ff12..1e709fa3474 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -833,6 +833,7 @@ export default { restrictedBusiness: 'Please confirm company is not on the list of restricted businesses', routingNumber: 'Please enter a valid routing number', accountNumber: 'Please enter a valid account number', + routingAndAccountNumberCannotBeSame: 'The routing and account number cannot be the same', companyType: 'Please select a valid company type', tooManyAttempts: 'Due to a high number of login attempts, this option has been temporarily disabled for 24 hours. Please try again later or manually enter details instead.', address: 'Please enter a valid address', diff --git a/src/languages/es.js b/src/languages/es.js index a787607c465..783ab0c0e4d 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -835,6 +835,7 @@ export default { restrictedBusiness: 'Por favor, confirma que la empresa no está en la lista de negocios restringidos', routingNumber: 'Por favor, introduce un número de ruta válido', accountNumber: 'Por favor, introduce un número de cuenta válido', + routingAndAccountNumberCannotBeSame: 'Por favor, el número de ruta y de cuenta no puede ser el mismo', companyType: 'Por favor, selecciona un tipo de compañía válido', tooManyAttempts: 'Debido a la gran cantidad de intentos de inicio de sesión, esta opción se ha desactivado temporalmente durante 24 horas. Vuelve a intentarlo más tarde o introduce los detalles manualmente.', diff --git a/src/pages/ReimbursementAccount/BankAccountManualStep.js b/src/pages/ReimbursementAccount/BankAccountManualStep.js index f8eeb662849..bc23b33d83f 100644 --- a/src/pages/ReimbursementAccount/BankAccountManualStep.js +++ b/src/pages/ReimbursementAccount/BankAccountManualStep.js @@ -46,6 +46,9 @@ class BankAccountManualStep extends React.Component { if (!routingNumber || !CONST.BANK_ACCOUNT.REGEX.SWIFT_BIC.test(routingNumber) || !ValidationUtils.isValidRoutingNumber(routingNumber)) { errorFields.routingNumber = this.props.translate('bankAccount.error.routingNumber'); } + if (values.accountNumber === routingNumber) { + errorFields.accountNumber = this.props.translate('bankAccount.error.routingAndAccountNumberCannotBeSame'); + } if (!values.acceptTerms) { errorFields.acceptTerms = this.props.translate('common.error.acceptTerms'); } From fb879675ab7ec62749ab6bc1a55e0191e769d065 Mon Sep 17 00:00:00 2001 From: tienifr Date: Sat, 10 Jun 2023 15:23:15 +0700 Subject: [PATCH 2/4] change error message --- src/languages/en.js | 2 +- src/languages/es.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languages/en.js b/src/languages/en.js index 1e709fa3474..d95ff440b1f 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -833,7 +833,7 @@ export default { restrictedBusiness: 'Please confirm company is not on the list of restricted businesses', routingNumber: 'Please enter a valid routing number', accountNumber: 'Please enter a valid account number', - routingAndAccountNumberCannotBeSame: 'The routing and account number cannot be the same', + routingAndAccountNumberCannotBeSame: 'The routing number and account number cannot be the same', companyType: 'Please select a valid company type', tooManyAttempts: 'Due to a high number of login attempts, this option has been temporarily disabled for 24 hours. Please try again later or manually enter details instead.', address: 'Please enter a valid address', diff --git a/src/languages/es.js b/src/languages/es.js index 783ab0c0e4d..f95a133fa4c 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -835,7 +835,7 @@ export default { restrictedBusiness: 'Por favor, confirma que la empresa no está en la lista de negocios restringidos', routingNumber: 'Por favor, introduce un número de ruta válido', accountNumber: 'Por favor, introduce un número de cuenta válido', - routingAndAccountNumberCannotBeSame: 'Por favor, el número de ruta y de cuenta no puede ser el mismo', + routingAndAccountNumberCannotBeSame: 'Por favor, el número de ruta y el número de cuenta no pueden ser iguales', companyType: 'Por favor, selecciona un tipo de compañía válido', tooManyAttempts: 'Debido a la gran cantidad de intentos de inicio de sesión, esta opción se ha desactivado temporalmente durante 24 horas. Vuelve a intentarlo más tarde o introduce los detalles manualmente.', From f4184909f017c88687ba06a6e00169ca8a0da40e Mon Sep 17 00:00:00 2001 From: tienifr Date: Sun, 18 Jun 2023 08:21:22 +0700 Subject: [PATCH 3/4] change spanish message routingAndAccountNumberCannotBeSame according to Slack discussion --- src/languages/es.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/es.js b/src/languages/es.js index f95a133fa4c..ca60b4c7643 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -835,7 +835,7 @@ export default { restrictedBusiness: 'Por favor, confirma que la empresa no está en la lista de negocios restringidos', routingNumber: 'Por favor, introduce un número de ruta válido', accountNumber: 'Por favor, introduce un número de cuenta válido', - routingAndAccountNumberCannotBeSame: 'Por favor, el número de ruta y el número de cuenta no pueden ser iguales', + routingAndAccountNumberCannotBeSame: 'El número de ruta y el número de cuenta no pueden ser iguales', companyType: 'Por favor, selecciona un tipo de compañía válido', tooManyAttempts: 'Debido a la gran cantidad de intentos de inicio de sesión, esta opción se ha desactivado temporalmente durante 24 horas. Vuelve a intentarlo más tarde o introduce los detalles manualmente.', From 865dd6534204547e1d863ec0a911eed3fa0e6c58 Mon Sep 17 00:00:00 2001 From: tienifr Date: Mon, 19 Jun 2023 16:05:51 +0700 Subject: [PATCH 4/4] fix prettier error --- src/components/Form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Form.js b/src/components/Form.js index f56ceeb3ba9..174fba176bb 100644 --- a/src/components/Form.js +++ b/src/components/Form.js @@ -96,7 +96,7 @@ function Form(props) { const inputRefs = useRef({}); const touchedInputs = useRef({}); const isFirstRender = useRef(true); - + const {validate, onSubmit, children} = props; /**