Google



Validar campos de un formulario con JavaScript desde Perl

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript
Mensaje Lun Mar 24, 2008 9:11 am
misionero
Perlero Nuevo
Perlero Nuevo
Registrado: 24 Mar 2008
Mensajes: 2
Validar campos de un formulario con JavaScript desde Perl Responder citando

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.
Mensaje Lun Mar 24, 2008 9:56 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 3156
Ubicación: Valladolid, España
Responder citando

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.
Mensaje Lun Mar 24, 2008 10:48 am
misionero
Perlero Nuevo
Perlero Nuevo
Registrado: 24 Mar 2008
Mensajes: 2
Responder citando

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--
}
Mensaje Lun Mar 24, 2008 11:03 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 3156
Ubicación: Valladolid, España
Responder citando

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.
Mostrar mensajes de anteriores:   

Publicar nuevo tema   Responder al tema    Foros de discusión -> Javascript Todas las horas son GMT - 6 Horas
Página 1 de 1




Powered by phpBB © 2001, 2005 phpBB Group
BloGalaxia