Hola:
El tipo de botón que hace submit es el type="submit", y el tuyo es type="button"
Y la forma correcta de validar un formulario es desde el propio evento submit del tag form devolviendo false para la cancelación:
<form onsubmit="return validar(this)" ...
Saludos