Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2008, 11:59
NiB
 
Fecha de Ingreso: octubre-2005
Mensajes: 59
Antigüedad: 19 años, 3 meses
Puntos: 0
Validar fecha de formulario no funciona

Hola de nuevo,

Siguiente atasco en la validación de formulario que estoy intentando conseguir, (el anterior fue solucionado obviamente por vosotros).

Tenia ya todo listo y funcionando pero a la que inserto el código de validación del campo fecha todo se va al garete y pasa directamente al action.
A ver si podéis echarme una mano también en este asunto porque por mas vueltas que le doy no consigo ver el porque.

Código PHP:
<html>
<
head>
<
script language="javascript" type="text/javascript">

function 
validacion(formulario) {

    var 
msg='';
          
    
//comprueba campo de username
    
var er_username = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|s|.|-)+$/
    if(!
er_username.test(formulario.username.value)) { 
    
msg="-Bad username \n";
    }       
    
//comprueba campo de email
    
var er_email = /^(.+@.+..+)$/
    if(!
er_email.test(formulario.email.value)) { 
    
msg msg+"-Bad email \n";
    }       
    
//------------------------------------------------------------------------------
//comprueba campo de Fecha
        
var Fecha= new String(formulario.fecha.value)
        var 
RealFecha= new Date()
    
// Cadena Año
        
var Ano= new String(Fecha.substring(Fecha.lastIndexOf("-")+1,Fecha.length))
    
// Cadena Mes
        
var Mes= new String(Fecha.substring(Fecha.indexOf("-")+1,Fecha.lastIndexOf("-")))
    
// Cadena Día
        
var Dia= new String(Fecha.substring(0,Fecha.indexOf("-")))
    
    
// Valido el año
        
if (isNaN(Ano) || Ano.length<|| parseFloat(Ano)<1900){
        
msg msg+"-Año mal \n";
        }
    
// Valido el Mes
        
if (isNaN(Mes) || parseFloat(Mes)<|| parseFloat(Mes)>12){
        
msg msg+"-Mes mal \n";
        }
    
// Valido el Dia
        
if (isNaN(Dia) || parseInt(Dia10)<|| parseInt(Dia10)>31){
        
msg msg+"-Dia mal \n";
        }
        if (
Mes==|| Mes==|| Mes==|| Mes==11 || Mes==2) {
            if (
Mes==&& Dia 28 || Dia>30) {
        
msg msg+"-Dia mal \n";
            }
//------------------------------------------------------------------------------

//Muestra errores si los hay
    
if (msg!="") { 
    
alert ("You have the following errors:\n"+msg)
    return 
false
    
}   
    
//TODO CORRECTO    
    
alert('Los campos introducidos son CORRECTOS.')
    return 
false //cambiar por return true para ejecutar la accion del formulario
}
</script>
</head>

<body>
<p><b>VALIDACION DE FORMULARIO</b></p>
<form name="formulario" action="mailto:[email protected]" onsubmit="return validacion(formulario)" >
<small>Nombre:</small><br><input type="text" name="username" 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" name="boton_borrar"></form>
</body>
</html> 
gracias de antemano