I'm using ReCAPTCHA which means that I have to submit the form from JS, not HTML, but HTMLFormElement.submit() doesn't confirm the form is valid first and I have written some checks that I would like to still be effective. The only solutions I see are for writing all the checks in JS (for people wanting custom checks) and ones that use JQuery. None of the solutions seem to have the browser-styled error messages that show below the field which isn't preferable. Is there a simple way to do this or do I have to do something like iterating over all the fields and validate them manually? Preferably, I would also like to run the checks before ReCAPTCHA even generates a score, but I doubt this is possible because of how limited ReCAPTCHA's API seems to be. It's worth noting that I manually validate the values server-side already, as I'm aware it would be easy for people to get round these checks, but I'd like to avoid unnecessary POST requests and be able to use the browser-styled error messages.
First of all, you have too many questions/issues in one post. You're normally expected to try and figure things out on your own as much as you can before asking. Here are some issues I picked up: