La verdad es que hay mil formas de validar un formulario del lado del
cliente utilizando javascript (es importante que también se valide del
lado del servidor, porque también es muy fácil saltarse cualquier
seguridad que pongas con javascript), yo te voy a poner lo que suelo
hacer yo.
En principio, en el formulario, sólo tienes que indicarle que al
"submitir" devuelva verdadero o falso, según la función que valida el
propio formulario. Si esta función devuelve verdadero, se hará es
submit, si devuelve falso no hará nada.
Ejemplo:
<form ... onsubmit="javascript: return(validarFormulario());">
...
</form>
Después, en la función validarFormulario() haces todas las
comprobaciones que quieras de cada uno de los campos, ocultas o
muestras mensajes, etc. Yo lo que suelo hacer es resaltar de otro
color los campos donde se han producido los errores y mostrar un Alert
con el detalle de los errores producidos. Para resaltar los campos con
error, creo otra clase en el fichero CSS y se la asigno al campo
erróneo.
Ejemplo:
function validarFormulario() {
var campoNombre;
var errores = '';
var claseError = 'nombre de la clase';
campoNombre = document.getElementById('nombre');
if (allTrim(campoNombre.value) == '') {
errores += 'Nombre: es un campo obligatorio\n';
campoNombre.className = claseError;
}
//A partir de aquí repites la misma operación con cada uno de los
campos que quieras validar
//Al final comprobamos si se han producido errores y mostramos el
alert, retornando verdadero si errores está vacío o falso en caso
contrario
if (errores)
alert('Se han producido los siguientes errores:\n' + errores);
return(errores == '');
}
Espero haberte ayudado.
Saludos.
Félix Sánchez Rodríguez wrote:
> Hola a todos:
>
> Estoy haciendo un sitio web en PHP y necesito validar varios formularios. Es
> una validaci�n relativamente sencilla, solo necesito que los campos de texto
> contengan algo. Ya lo he hecho del lado del servidor pero necesito hacerlo
> del lado del cliente. Ya s� que puedo hacerlo con Javascript, pero no s�
> como. En definitiva, lo que necesito hacer es lo siguiente: cuando presione
> el bot�n "submit" debe validar los campos de texto del formulario en que se
> encuentra. Si alguno no contiene nada, al lado de ese se escribir� un texto
> que yo especifique, si en definitiva alguno era inv�lido, o sea, no conten�a
> nada, no se har� el post. En realidad, ya tengo algo hecho, s� como escribir
> el texto al lado utilizando un div, pero no s� ni como borrarlo cuando est�
> bien, ni tampoco s� detener el post. Espero que puedan ayudarme.