Si estás validando con javascript lo lógico sería que lances la funcion que valida con el evento onsubmit
Código HTML:
Ver original<form action="x.php" onsubmit="return validar();" method="post">
y que dicha función deuelva false si no se cumple la validación. con lo que el form no se procesará
Pero por lo visto también estás validando en el php, que por cierto es lo más indicado (una validación solo con javascript puede ayudar a la usabilidad por parte del usuario, pero es completamente precaria, por lo tanto lo ideal es que envies el formulario con ajax y muestres los mensajes pertinentes en caso de error
SAludos