allora il codice che ha postato whiser serve per verificare la correttezza del modulo, ma cmq il controllo parte sempre DOPO che hai già inviato il modulo.

invece con il javascript il controllo lo fai "on the fly" e puoi impedire l'invio del modulo se questo non è corretto.