@Craig20001x, i know this type=“email”, but i have a reason why i decided to go with that way
Firstly it would be helpful if you could share that reason. It would take the guesswork out of it for people trying to assist.
Secondly it would be useful to see the html form that goes with this.
It may well be that there is a pure HTML/CSS solution to your problem (Frontend anyway). Don’t forget inputs also have a pattern attribute where you can specify a regex. CSS has :invalid and :valid pseudo selectors and even the new :user-valid selectors.
Lastly I don’t see the need for two separate email validations e.g. blank and valid. I would keep it simple and just use the ‘valid email needed’ for both scenarios.
Which is why everyone advises type="email" to check the email and required to reject a blank input, both of which are very easy to do.
I can’t think of any reason why you would not choose this easy, effective method.