JavaScript Validar Formulario
JavaScript Validar Formulario
Validar formularios
Vamos a utilizar JavaScript para detectar los errores en el formulario de la
pgina contacto.html antes de enviarlo, lo que permitir a los usuarios corregirlos
cmodamente.
Aunque validemos con JavaScript, siempre hay que validar tambin con PHP, ya que a un
usuario con un mnimo conocimiento de HTML y JavaScript no le resultar difcil quitar las
validaciones de la pgina, o simplemente, puede tener el JavaScript desactivado.
Utilizamos el mtodo .length, que devuelve la longitud de una cadena, para comprobar si
el nmero de caracteres es 0. Si es 0, la cadena est vaca.
Repetimos esto para el resto de comprobaciones, dejando el return true; al final del
todo, para que slo llegue ah si todos los campos estn correctos:
<script
type="text/javascript">
function
validarForm(formulario)
{
if(formulario.nombre.value.length==0) { //comprueba que no est
vaco
formulario.nombre.focus();
alert('No
has
escrito
tu
nombre');
return
false;
//devolvemos
el
foco
}
if(formulario.email1.value.length==0) { //comprueba que no est
vaco
formulario.email1.focus();
alert('No
has
escrito
tu
e-Mail');
return
false;
}
if(formulario.email1.value!=formulario.email2.value)
{
formulario.email1.focus();
//comprueba que sean
iguales
alert('Los
e-Mails
no
coinciden');
return
false;
}
if(formulario.consulta.value.length==0) { //comprueba que no est
vaco
formulario.consulta.focus();
alert('No
has
escrito
ninguna
consulta');
return
false;
}
return
true;
}
</script>
Ahora tenemos que llamar a la funcin. Lo haremos, cuando se vaya a enviar el formulario,
es decir, en el evento onsubmit del form.
<form
method="post"
validarForm(this);">
action="enviar_mail.php"
onsubmit="return
Observa que como parmetro hemos enviado this. Se trata de una palabra reservada que
equivale al objeto que ha producido el evento, en este caso el formulario. Adems, antes de la
funcin hemos puesto return. Lo hemos hecho, porque si en un evento ponemos return
false;, el evento se anula, en cambio si ponemos return true; contina. Por eso es
importante que la funcin devuelva false cuando queramos que no se enve el formulario, y
que devuelva true cuando queramos que se enve.