Si ejecutas siempre un submit, siempre lo enviara aunque retorne cualquier valor la funcion, para ello tienes que usar type="button" y especificar en la funcion que si todo se cumple envie el formulario...
te dejo el ejemplo aqui:
https://jsfiddle.net/t0ku7axy/
saludos!