0

At registration and checkout page there is bug related to email validation like if you enter

john@mail.test.com

in email field then magento will accept such wrong email format. Actually magento doesn't verify domain format.

Anybody knows how can we fix it?

Thank you, Vijay

Vijay Gupta
  • 95
  • 3
  • 15
  • Anybody knows, how can we fix this. – Vijay Gupta Jul 30 '20 at 10:50
  • Replace regular expression for email validation field and in core Magento as well... – Pranav Patel Jul 30 '20 at 12:44
  • I don't use magento, but you can write your own JS validation: https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript – ikiK Aug 06 '20 at 10:30
  • I’m voting to close this question because Stack Overflow is a [programming-related](http://stackoverflow.com/help/on-topic) Q&A site. Your question is not about programming. Perhaps you should post it on http://magento.stackexchange.com instead? – Enigmativity Aug 11 '20 at 04:10

1 Answers1

0

I found a solution for above bug.

We can override following file in theme

lib/web/mage/validation.js

Theme path:

app/design/frontend/'Magento/luma'/web/mage/validation.js

There find the rule: 'validate-email': and then replace

function (v) { return $.mage.isEmptyNoTrim(v) || /^([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.test(v); //eslint-disable-line max-len },

To

function (v) { return $.mage.isEmptyNoTrim(v) || /^([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.test(v); //eslint-disable-line max-len },

There we have added (!.) "not .(dot)"

Thank you

Vijay Gupta
  • 95
  • 3
  • 15