Lun Mar 24, 2008 9:11 am
|
 |
misionero
Perlero Nuevo

|
Registrado: 24 Mar 2008
Mensajes: 2
|
|
| Validar campos de un formulario con JavaScript desde Perl |
|
|
Buenas estoy probando un formulario en donde se valida los campos nombre, dirección, ciudad, correo electrónico, etc. con JavaScript. Al abrirlo directo en el navegador (explorer) lo valida perfectamente pero al pasar ese mismo código a un cgi de Perl me empieza a votar muchos errores.
Si alguien tuviera algún ejemplo que me pudiera servir para guiarme para la validación de esos campos desde Perl. |
|
|
|
Lun Mar 24, 2008 9:56 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3156
Ubicación: Valladolid, España
|
|
|
|
|
Bienvenido a los foros de Perl en Español, misionero.
Sería interesante ver el código que estás usando en el CGI, y/o el error que te sale. |
|

Lun Mar 24, 2008 10:48 am
|
 |
misionero
Perlero Nuevo

|
Registrado: 24 Mar 2008
Mensajes: 2
|
|
|
|
|
Este es el código que estoy usando en el cgi; al abrir únicamente la parte de la validación del formulario lo valida sin ningún problema pero al ya integrarlo al cgi no hace nada.
Agradezco mucho tu ayuda, mil gracias
| Perl: | #!/usr/bin/perl
use Eflow:: user_check;
use Time:: Local;
use Date:: Calc qw(Today Delta_Days );
ReadParse ();
print PrintHeader ();
if ($in{'comando'} eq '') {
menu ();
}
sub menu {
print << "--FIN--";
<html>
<head>
<script language= "javascript" type= "text/javascript">
function validacion (formulario ) {
var er_nombre = /^ ([a-z ]| [A-Z ]|á|é|í|ó|ú|ñ|ü|\s|\.|- )+$/
var er_telefono = /^ ([0- 9\ s\+\- ])+$/
var er_mes31dias = /^ ([1- 3]0| [0- 2][1- 9]| 31| [0- 9])\/ (1| 01| 3| 03| 5| 05| 7| 07| 8| 08| 10| 12)\/ (1999| 20[0- 1][0- 9]| 2020)$/
var er_mes30dias = /^ ([1- 3]0| [0- 2][1- 9]| [0- 9])\/ (4| 04| 6| 06| 9| 09| 11)\/ (1999| 20[0- 1][0- 9]| 2020)$/
var er_mes28dias = /^ ([1- 2]0| [0- 2][1- 8]| [0- 1]9| [0- 9])\/ (02| 2)\/ (1999| 200[1- 3]| 200[5- 7]| 2009| 201[0- 1]| 201[3- 5]| 201$
var er_mes29dias = /^ ([1- 2]0| [0- 2][1- 9]| [0- 9])\/ (02| 2)\/ (2000| 2004| 2008| 2012| 2016| 2020)$/
//direccion de correo electronico
var er_email = /^ (.+\@.+\..+ )$/
var x
//comprueba 50 caracteres maximo
for(x = 1; x < 5; x++ ) {
if (formulario.elements [x ].value. length > 50) {
alert ('La lontitud máxima permitida para cualquier campo es de 10 caracteres.')
return false
}
}
//comprueba campo de nombre
if(!er_nombre.test (formulario.nombre.value )) {
alert ('Contenido del campo NOMBRE no válido.')
return false
}
//comprueba campos de telefonos (permite campos vacios y guiones )
if( !er_telefono.test (formulario.telefono.value ) ) {
alert ('Contenido del campo TELEFONO no válido.')
return false
}
//comprueba la fecha segun calendario (hasta el 2020, ojo )
if (! (er_mes31dias.test (formulario.fecha.value ) ||
er_mes30dias.test (formulario.fecha.value ) ||
er_mes29dias.test (formulario.fecha.value ) ||
er_mes28dias.test (formulario.fecha.value ))) {
alert ('Contenido del campo FECHA no válido.')
return false
}
//comprueba campo de email
if(!er_email.test (formulario.email.value )) {
alert ('Contenido del campo E-MAIL no válido.')
return false
}
alert ('Los campos introducidos son CORRECTOS.')
return false//cambiar por return true para ejecutar la accion del formulario
}
</script>
</head>
<body>
<form onsubmit= "return validacion(this)" name= "FormValidacion"> <small>Nombre:</small> <br>
<input type= "text" name= "nombre" size= "14"> <br><br><small>Teléfono:</small> <br>
<input type= "text" name= "telefono" size= "14"> <br><br><small>Fecha (dd/mm/aaaa ):</small> <br>
<input type= "text" name= "fecha" size= "14"> <br><br><small>E-mail:</small> <br>
<input type= "text" name= "email" size= "14"> <br><br>
<input type= "submit" value= "Validar" name= "boton_envio">
<input type= "reset" value= "Borrar" ame= "boton_borrar"></form>
</body>
</html>
--FIN--
} |
|
|

Lun Mar 24, 2008 11:03 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3156
Ubicación: Valladolid, España
|
|
|
|
|
| Se supone que en algún sitio estarán definidas las funciones ReadParse(), PrintHeader()... y también supongo que ReadParse() se encargará de actualizar la variable %in, que es la que veo que usas para decidir si pintas o no el código HTML. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|