Hola:
rkpost:
La funcionalidad de los botones siempre debe darse con el tipo (type) y si es un botón para enviar un formulario sin duda debe ser del tipo submit... lo mismo que se puede hacer un reset con cualquier botón usando la función reset() del form, pero ya existe el tipo reset para esos casos, y los genéricos deben reservarse para otras funcionalidades (cargar datos desde otras funciones, realizar operaciones secundarias...)
Coincido contigo en que es preferible las validaciones en el servidor, aunque claro está que se puede ahorrar bastante tiempo y recursos con la ayuda de script en el cliente.
Saludos