Lo volveré a probar, pero mientras tanto pongo el código que logró validármela correctamente
Código Javascript
:
Ver originalfunction validaFecha(tipo, label)
{
valor = document.getElementById(tipo).value;
if(valor != '' && valor != undefined)
{
var fecha = valor.split('/');
if(fecha[1] == undefined || fecha[2] == undefined)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
if(fecha[1]>12)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
var fechaactual = new Date();
var anio=fechaactual.getFullYear();
if(tipo == 'nacimiento' && fecha[2]>(anio-16))
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else if(tipo == 'finmayor' && fecha[2]<anio)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
switch(fecha[1])
{
case 01:
if(fecha[0]>31)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 02:
if(fecha[0]>29)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 03:
if(fecha[0]>31)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(tipo).style.color='#646464';
}
break;
case 04:
if(fecha[0]>30)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 05:
if(fecha[0]>31)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 06:
if(fecha[0]>30)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 07:
if(fecha[0]>31)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 08:
if(fecha[0]>31)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 09:
if(fecha[0]>30)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 10:
if(fecha[0]>31)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 11:
if(fecha[0]>30)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
case 12:
if(fecha[0]>31)
{
document.getElementById(tipo).value = "";
document.getElementById(label).style.color='red';
return (false);
}
else
{
document.getElementById(label).style.color='#646464';
}
break;
}
}
}
}
}
};
Ya sé que es muy larga, pero valida día y mes, dependiendo del mes, y año dependiendo de para qué cometido queremos validar la fecha.
Un saludo y gracias de nuevo!!