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<4 || parseFloat(Ano)<1900){
msg = msg+"-Año mal \n";
}
// Valido el Mes
if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
msg = msg+"-Mes mal \n";
}
// Valido el Dia
if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){
msg = msg+"-Dia mal \n";
}
if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
if (Mes==2 && 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>