So, you are wanting to write your own framework. Maybe you are tired of the breaking changes introduced into the framework you are currently using. Maybe, you realized how slow Symfony and Laravel frameworks actually are. (They are ridiculously SLOW, if you didn't know, check out our Laravel Benchmarks and Symfony Benchmarks; for more detailed information). Maybe, you have a desired API and code design or esthetic, which you wish you could use, but your framework doesn't allow or is incapable of this change. Or maybe, you just want to write your own framework; let's pause for a few seconds for a Public Safety Announcement.
Validation that data typed into a webpage is formatted as an email address is certainly a great start, but shouldn't be the only validation on an email address before you save it into your database. I think we can do one better than a simple or complex Regular Expression (regex). Some people might say "Just make a validation email part of the signup process." And, that isn't a bad idea at all, I just want something a little more interactive or immediate and to not even accept the data into my database unless it has been validated. There are a couple of ways that we might go about this, while I will mention a few ideas; I will only explore one in detail and with code.