Sobre lo expuesto por jurena en el
#9, comento un par de cosas.
La validación en javascript debe servir únicamente de complemento a la hora de enviar un formulario. No es nada recomendable centrar todo el proceso de validación en el lado del cliente por varias razones. La primera y más importante, porque un usuario puede desactivar la ejecución de javascript desde su navegador, saltándose toda comprobación, con las consecuencias que esto conlleva. Por ejemplo, si debemos introducir un DNI con el formato 00000000X, y alguien con Javascript deshabilitado introduce 00000000-H. La validación no se realizará, y ese valor se guardará en la base de datos con un formato equivocado, dando luego problemas en las consultas y demás.
En segundo lugar, porque esta validación se puede realizar en el lado del servidor, ofreciéndonos un mejor control y mayores posibilidades. Comentas que al hacerlo en el servidor tenemos el problema de que el formulario se borra. Esto no tiene por que ser así, si hacemos la validación correctamente:
1. Se carga el formulario
2. Usuario introduce datos
3. Usuario envía formulario
4. Formulario se valida en el lado del servidor.
5. Introducimos datos del formulario en una variable de sesión. Por ejemplo: $_SESSION['datos']['campo1'], $_SESSION['datos']['campo2'], y así...
6. Si datos son correcto hacemos las operaciones que queramos de inserción, actualización... y borramos la variable de sesión creada.
7. Si los datos no son correctos, volvemos a cargar el formulario informando de los errores encontrados, y rellenamos los campos con las variables de sesión creadas anteriormente.
Pues espero que os quede claro esto. No me puedo extender más que llevo prisa!
Hasta luego!!!
Si, ya tenemos firma :)