AbanteCart Community
Shopping Cart Operations => Support => General Support => Topic started by: teppyogi on May 05, 2021, 07:05:53 PM
-
Hello,
I have tried to register into AbanteCart for testing purposes using myAddress+test1@gmail.com but got a validation error. Looking up validation rules, I stumbled on this post (https://forum.abantecart.com/index.php/topic,5929.msg25381.html#msg25381), in which a core developer mentions that the validation regexp is:
define('EMAIL_REGEX_PATTERN','/^[A-Z0-9._%-]+@[A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,16}$/i');
This would explain why I get a validation error, but I am surprised the validation is not done with respect to the RFC, which you can look up on Wikipedia at the Email_address entry (I cannot post the link)...
Argument: the case for avoiding such addresses can be made since, in fact, it bypasses the 1 account per person rule. However, allowing such cases for testing purposes seems worthwhile. Also, validation imho should be just that: making sure the field has been validly populated. I regularly pest at websites which forbid me to use + in addresses because it is super practical for email classification. Therefore I would like it if my website were to avoid being in this category :-)
Questions: am I missing a setting anywhere? If not, should this become a feature in a future version? and in the meantime, how can I provide my own validation regexp?
Thanks! Tepp.
-
Hello.
Feel free to modify the EMAIL_REGEX_PATTERN
-
Thanks, I was not aware this was located in a unique spot, which is great! For those who are looking to do the same thing, here is what I did:
- File to change: core/init.php
- Change the line: define('EMAIL_REGEX_PATTERN', '/^[A-Z0-9._%-+]+@[A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,16}$/i');
- The only modification I made to the original code is marked in red, above. I can confirm that doing this worked on my installation of AbanteCart (1.3.0).
This was simply adapted for accepting the plus (+) sign into an email address, which is a personal favorite feature of mine in email management. It is by no means an RFC compliant validator, as I have learned since that doing such a validator is both complex and limited in terms of how effective it is at weeding out bad inputs.
Thanks again for the help! Tepp
-
Thank you for posting a solution