注册表格magento 2中的电子邮件验证问题



在Magento2注册表格中,当我们插入电子邮件id时,电子邮件没有确切的验证,就像如果您输入电子邮件:john@test.demo.com,它将接受,客户将能够注册。我试图通过jquery脚本和其他方式进行修复,但无法解决。

请任何人有固定的问题,因为这个问题存在于每个版本的Magento 2。

我已经快速浏览了GitHub上的源代码,以确定客户注册表(Magento_Customer::form/register.phtml(是否正确地将验证规则应用于电子邮件字段,而且确实如此(至少在Magento 2.4开发分支中(。

https://github.com/magento/magento2/blob/2.4-develop/app/code/Magento/Customer/view/frontend/templates/form/register.phtml#L218

当我搜索";验证电子邮件";我找到了两个地方;验证电子邮件";与正则表达式关联。

https://github.com/magento/magento2/blob/047f5b943cb74e5bac67360aaadae31e165c09db/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js#L441

https://github.com/magento/magento2/blob/a1aaf8f0eeae4cbc763c0ab4ca3b43a9cc250f18/lib/web/mage/validation.js#L622

两者似乎都使用相同的正则表达式,所以在客户注册表的情况下,Magento实际使用哪一个并不重要

当我通过Regex101尝试这个正则表达式时;ECMAScript";我可以验证这个正则表达式是否正确地验证了给定的字符串。

除此之外,据我所知,电子邮件可以从子域发送到子域,所以";john@test.demo.com"将是一封有效的电子邮件。我试着更彻底地检查和解释这个,这样我就可以验证这不是Magento中的错误。

最新更新