A prescindere da tutto, ti comunico che sono alquanto novellino, per cui cerco di aiutarti come posso, ma tu prendi ciò che ti dico con le pinze... ad ogni modo...

Cioè, intendi dire che ti visualizzi l'errore sempre nella stessa pagina, quindi prima che la pagina comunichi col server?
Prova a mettere tutte le condizioni nella pagina (dopo l'input) con un valore booleano (del tipo: se il form rispetta le condizioni 'true', altrimenti 'false') e alla fine, prima di inviare tutto, fa un controllo di tutte le condizioni... così, se c'è una condizione 'false' restituisci l'errore riferito a quell'input, se sono tutte 'true' invii...

Spero di esserti stato d'aiuto, ma ripeto, prendi quello ke dico con le pinze, perché di esperienza non ne ho moltissima..