From 21782040953d4e38b2de008983dd994282e59cc2 Mon Sep 17 00:00:00 2001 From: Tuan Pham Date: Tue, 13 Jul 2021 15:48:58 +0700 Subject: [PATCH 1/3] Fix validate-emails rule for ui component - Fix wrong method `strip()` => `trim()` - Sync logic with `lib/web/mage/validation.js` --- app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js index 5f7571aa7246d..15d1eb6f32b06 100644 --- a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js +++ b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js @@ -879,17 +879,18 @@ define([ } ], 'validate-emails': [ + // TODO: logic is same in lib/web/mage/validation.js. Should we uniform? function (value) { var validRegexp, emails, i; if (utils.isEmpty(value)) { return true; } - validRegexp = /^[a-z0-9\._-]{1,30}@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i; + validRegexp = /^([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i; //eslint-disable-line max-len emails = value.split(/[\s\n\,]+/g); for (i = 0; i < emails.length; i++) { - if (!validRegexp.test(emails[i].strip())) { + if (!validRegexp.test(emails[i].trim())) { return false; } } From dc7a6881c90d515f6c99c822b4c19e16d048f0c4 Mon Sep 17 00:00:00 2001 From: Tuan Pham Date: Fri, 16 Jul 2021 16:19:30 +0700 Subject: [PATCH 2/3] Remove comment --- app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js | 1 - 1 file changed, 1 deletion(-) diff --git a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js index 15d1eb6f32b06..563a3d2dd5cd1 100644 --- a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js +++ b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js @@ -879,7 +879,6 @@ define([ } ], 'validate-emails': [ - // TODO: logic is same in lib/web/mage/validation.js. Should we uniform? function (value) { var validRegexp, emails, i; From 49788b380b16fba1a9e33799425e87bff1eff53b Mon Sep 17 00:00:00 2001 From: engcom-Dash Date: Fri, 18 Oct 2024 19:57:23 +0530 Subject: [PATCH 3/3] 33470: Suppress ESLint warning for unnecessary escape character --- app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js index 7291e2f814211..4856a26a0c50f 100644 --- a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js +++ b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js @@ -6,6 +6,8 @@ /** * @api */ + +/* eslint-disable no-useless-escape */ define([ 'jquery', 'underscore',