From 08611ddfcf5b7ba46d66ccdabca56ddc79adba51 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Tue, 11 Apr 2023 14:52:43 +0700 Subject: [PATCH 1/3] Fix: No error message when entering a invalid email --- src/languages/en.js | 1 + src/libs/OptionsListUtils.js | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/languages/en.js b/src/languages/en.js index 8bc794e41955..48732bb1cbeb 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -98,6 +98,7 @@ export default { characterLimit: ({limit}) => `Exceeds the maximum length of ${limit} characters`, dateInvalid: 'Please enter a valid date', invalidCharacter: 'Invalid character', + invalidEmail: 'Invalid email' }, comma: 'comma', semicolon: 'semicolon', diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 7db2e875660c..e8712e925532 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -799,6 +799,8 @@ function getHeaderMessage(hasSelectableOptions, hasUserToInvite, searchValue, ma const isValidPhone = Str.isValidPhone(LoginUtils.appendCountryCode(searchValue)); + const isValidEmail = Str.isValidEmail(searchValue); + if (searchValue && CONST.REGEX.DIGITS_AND_PLUS.test(searchValue) && !isValidPhone) { return Localize.translate(preferredLocale, 'messages.errorMessageInvalidPhone'); } @@ -809,6 +811,9 @@ function getHeaderMessage(hasSelectableOptions, hasUserToInvite, searchValue, ma if (/^\d+$/.test(searchValue) && !isValidPhone) { return Localize.translate(preferredLocale, 'messages.errorMessageInvalidPhone'); } + else if (/@/.test(searchValue) && !isValidEmail) { + return Localize.translate(preferredLocale, 'common.error.invalidEmail'); + } return Localize.translate(preferredLocale, 'common.noResultsFound'); } @@ -816,6 +821,7 @@ function getHeaderMessage(hasSelectableOptions, hasUserToInvite, searchValue, ma return ''; } + export { addSMSDomainIfPhoneNumber, isCurrentUser, From dc612574ef4af2a3e6c0101b4fba6c017e39fabe Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Wed, 12 Apr 2023 00:45:49 +0700 Subject: [PATCH 2/3] format code --- src/languages/en.js | 2 +- src/libs/OptionsListUtils.js | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/languages/en.js b/src/languages/en.js index 48732bb1cbeb..f7b4fdbf2284 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -98,7 +98,7 @@ export default { characterLimit: ({limit}) => `Exceeds the maximum length of ${limit} characters`, dateInvalid: 'Please enter a valid date', invalidCharacter: 'Invalid character', - invalidEmail: 'Invalid email' + invalidEmail: 'Invalid email', }, comma: 'comma', semicolon: 'semicolon', diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index e8712e925532..e028a58fd752 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -811,7 +811,7 @@ function getHeaderMessage(hasSelectableOptions, hasUserToInvite, searchValue, ma if (/^\d+$/.test(searchValue) && !isValidPhone) { return Localize.translate(preferredLocale, 'messages.errorMessageInvalidPhone'); } - else if (/@/.test(searchValue) && !isValidEmail) { + if (/@/.test(searchValue) && !isValidEmail) { return Localize.translate(preferredLocale, 'common.error.invalidEmail'); } @@ -821,7 +821,6 @@ function getHeaderMessage(hasSelectableOptions, hasUserToInvite, searchValue, ma return ''; } - export { addSMSDomainIfPhoneNumber, isCurrentUser, From 65ac54ffb08a8334030b326cf86f56661cfd7498 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Thu, 13 Apr 2023 09:51:28 +0700 Subject: [PATCH 3/3] move invalidEmail message inside messages --- src/languages/en.js | 2 +- src/languages/es.js | 3 ++- src/libs/OptionsListUtils.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/languages/en.js b/src/languages/en.js index f7b4fdbf2284..c6ecfc12bcff 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -98,7 +98,6 @@ export default { characterLimit: ({limit}) => `Exceeds the maximum length of ${limit} characters`, dateInvalid: 'Please enter a valid date', invalidCharacter: 'Invalid character', - invalidEmail: 'Invalid email', }, comma: 'comma', semicolon: 'semicolon', @@ -758,6 +757,7 @@ export default { }, messages: { errorMessageInvalidPhone: `Please enter a valid phone number without brackets or dashes. If you're outside the US please include your country code (e.g. ${CONST.EXAMPLE_PHONE_NUMBER}).`, + errorMessageInvalidEmail: 'Invalid email', }, onfidoStep: { acceptTerms: 'By continuing with the request to activate your Expensify wallet, you confirm that you have read, understand and accept ', diff --git a/src/languages/es.js b/src/languages/es.js index ea4bb1fc7a76..e62d00013890 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -755,7 +755,8 @@ export default { }, }, messages: { - errorMessageInvalidPhone: `Por favor, introduce un número de teléfono válido sin paréntesis o guiones. Si reside fuera de Estados Unidos, incluye el prefijo internacional (p. ej. ${CONST.EXAMPLE_PHONE_NUMBER}).`, + errorMessageInvalidPhone: `Por favor, introduce un número de teléfono válido sin paréntesis o guiones. Si reside fuera de Estados Unidos, por favor incluye el prefijo internacional (p. ej. ${CONST.EXAMPLE_PHONE_NUMBER}).`, + errorMessageInvalidEmail: 'Email inválido', }, onfidoStep: { acceptTerms: 'Al continuar con la solicitud para activar su billetera Expensify, confirma que ha leído, comprende y acepta ', diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index e028a58fd752..9707fef2d24f 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -812,7 +812,7 @@ function getHeaderMessage(hasSelectableOptions, hasUserToInvite, searchValue, ma return Localize.translate(preferredLocale, 'messages.errorMessageInvalidPhone'); } if (/@/.test(searchValue) && !isValidEmail) { - return Localize.translate(preferredLocale, 'common.error.invalidEmail'); + return Localize.translate(preferredLocale, 'messages.errorMessageInvalidEmail'); } return Localize.translate(preferredLocale, 'common.noResultsFound');