You are on page 1of 3

Javascript Validación de formularios

«Anterior Siguiente »Capítulo

Formulario de Validación de JavaScript


JavaScript puede ser utilizado para validar los datos en los formularios HTML antes de enviar el
contenido a un servidor.

Formulario de datos que normalmente son controlados por un JavaScript podría ser:

• tiene el usuario lo haya abandonado los campos requeridos vacío?


• tiene el usuario introduce una dirección válida de e-mail?
• tiene el usuario introduce una fecha válida?
• el usuario ha introducido texto en un campo numérico?

Campos obligatorios
Ésta función comprueba si el campo es obligatorio ha quedado vacío. Si el campo se requiere en
blanco, un cuadro de alerta alertas un mensaje y la función devuelve false. Si se introduce un
valor, la función devuelve verdadero (significa que los datos está bien):

función validate_required (campo, alerttxt)


(
con (campo)
(
if (valor == null | =="") valor |
(
alert (alerttxt); return false;
)
más
(
return true;
)
)
)

El guión completo, con la forma HTML podría ser algo así:

<html>
<head>
<script type="text/javascript">
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{
alert(alerttxt);return false;
}
else
{
return true;
}
}
}

function validate_form(thisform)
{
with (thisform)
{
if (validate_required(email,"Email must be filled out!")==false)
{email.focus();return false;}
}
}
</script>
</head>

<body>
<form action="submit.htm" onsubmit="return validate_form(this)" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>

</html>

E-mail de validación
Ésta función comprueba si el contenido tiene la sintaxis general de un correo electrónico.

Esto significa que los datos de entrada debe contener al menos un signo "@" y un punto (.).
Además, la @ no debe ser el primer carácter de la dirección de correo electrónico, y el último
punto debe ser al menos un carácter después del signo @:

función validate_email (campo, alerttxt)


(
con (campo)
(
apostólicas = value.indexOf ("@");
dotpos = value.lastIndexOf (".");
si (APOS <1 | | dotpos apos-<2)
(alert (alerttxt); return false;)
else (return true;)
)
)

El guión completo, con la forma HTML podría ser algo así:

<html>
<head>
<script type="text/javascript">
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (apos<1||dotpos-apos<2)
{alert(alerttxt);return false;}
else {return true;}
}
}

function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
{email.focus();return false;}
}
}
</script>
</head>

<body>
<form action="submit.htm" onsubmit="return validate_form(this);" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>

</html>