lo script di Mich sembra corretto. e comunque non previene l'invio del modulo se il campo non è corretto.

Se vuoi anche impedire l'invio del form dei fare un controllo sull'evento onsubmit dell'elemento form.

In che cosa fallisce lo script?