Hola:
La verdad es que reavivar un tema de hace más de 2 años no me parece buena idea, pero ya puestos te comento unas cosillas...
Una "buena validación" son de la forma que expuso
KarlanKas (¡Hola
!) en su primera participación... o sea <form onsubmit="return validar(this)"...
El this ayuda a reutilizar el sistema validador en distintos formularios y permite referenciar más fácilmente los elementos del form...
Prueba usando esa estructura y nos cuentas...
Saludos