ma anche utilizzando il tuo metodo come fai a capire quale controllo è andato bene e quale no? l'informazione che recuperi dalla funzione sarà pur sempre un valore booleano(true o false) che non ti da certo un informazione precisa sui campi errati...

Che io sappia ci sono 2 metodi basilari per la validazione di un form:
- viene effettuato un controllo al submit del form: in questo caso si effettua un controllo sequenziale sui campi... al primo errore si presenta a schermo il messaggio associato al quel campo. Esempio:
Il form è formato da seguenti campi:
Nome,Cognome,Data nascita

codice:
function TUAFUNZIONE(){
if(document.nomeform.nome.value != "valoreDeciso"){ alert("errore nome"); return false;}
if(document.nomeform.cognome.value != "valoreDeciso"){ alert("errore cognome"); return false;}
if(document.nomeform.dataNascita.value != "valoreDeciso"){ alert("errore data nascita"); return false;}

return true;
}
- tutti i controlli vengono effettuati durane la compilazione del form, si creano n funzioni per n campi e ogni funzione mostrerà il suo messaggio specifico...

Ci sono anche altri metodi già "pronti" che vengono messi a disposizione dai vari framework... il plugin validate di jquery per esempio...