Do you like AbanteCart? Please rate AbanteCart or share your experience with other eCommerce entrepreneurs. Go to Softaculous rating page to add your rating or write a review

Email validation seems too restrictive vs RFC?

Started by teppyogi, May 05, 2021, 07:05:53 PM

Previous topic - Next topic

teppyogi

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, in which a core developer mentions that the validation regexp is:
Quotedefine('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.

Basara

Hello.
Feel free to modify the EMAIL_REGEX_PATTERN

teppyogi

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

Basara


Forum Rules Code of conduct
AbanteCart.com 2010 -