ho fatto un piccolo test e vedo che l'uso di una richiesta d'invio tramite JS (this.form.submit()) rende inutile la richiesta "required".
devi cambiare strategia