Hola:
Para cosas importantes no deberías depender de javascript, así que es mejor que uses un botón del tipo submit... y sobre la forma de validar hay muchísimos mensajes en estos foros (es trivial), y validar también en el servidor... pero con un botón submit y la validación en el tag form (onsubmit="return validar(this)") es correcto, accesible y usable.
Saludos