Hola:
Estás equivocado, con un botón submit la validación es muy fácil, se cancela el envío enviándo el valor false al formulario durante el evento...
Lectura recomendada:
El abc de los formularios... hay algunos ejemplos de validación tanto en el servidor como en el navegador... y si lo analizas, verás que es sencillo (incluso trivial)
Saludos