JavaScript - Validación de una fecha en un rango de dos fechas

 
Vista:

Validación de una fecha en un rango de dos fechas

Publicado por SkuNk (1 intervención) el 02/04/2005 23:17:52
Hola, tengo un problema con una validación de fechas en JavaScript, tengo que tener lista una aplicación el lunes y dependo de esto último para dejarla lista, a ver si alguien me puede ayudar.
Supongamos que ejecuto la función checkDate() con los valores ifechaini y ifechafin en formato UNIX TimeStamp, y los campos del formulario rellenados pero un unas fechas fuera del rango de ifechaini y ifechafin. Se supone que la función debería devolver un "false" y sacar un alert con los respectivos mensajes, pero no lo hace correctamente. He intentado encontrar más acerca de la función date() en la documentación JavaScript y en Google para encontrar una forma de comprobar una fecha entre un rango de dos fechas, pero no he sacado nada en claro.
¿Por favor, alguien sabe que estoy haciendo mal?

-------------------------------------------------------------------------------------------------------
checkDate("UNIX TIMESTAMP", "UNIX TIMESTAMP");
function checkDate(ifechaini, ifechafin)
{
var formulario = document.forms[0];

date1 = new Date();
date2 = new Date();
diff = new Date();

var vfechaini_dia = formulario.fechaini_dia.options[formulario.fechaini_dia.selectedIndex].value;
var vfechaini_mes = formulario.fechaini_mes.options[formulario.fechaini_mes.selectedIndex].value;
var vfechaini_ano = formulario.fechaini_ano.options[formulario.fechaini_ano.selectedIndex].value;
var vfechaini_hora = formulario.fechaini_hora.options[formulario.fechaini_hora.selectedIndex].value;
var vfechaini_min = formulario.fechaini_min.options[formulario.fechaini_min.selectedIndex].value;
// FECHA FIN
var vfechafin_dia = formulario.fechafin_dia.options[formulario.fechafin_dia.selectedIndex].value;
var vfechafin_mes = formulario.fechafin_mes.options[formulario.fechafin_mes.selectedIndex].value;
var vfechafin_ano = formulario.fechafin_ano.options[formulario.fechafin_ano.selectedIndex].value;
var vfechafin_hora = formulario.fechafin_hora.options[formulario.fechafin_hora.selectedIndex].value;
var vfechafin_min = formulario.fechafin_min.options[formulario.fechafin_min.selectedIndex].value;

date1temp = new Date(formulario.fechaini_dia.options[formulario.fechaini_dia.selectedIndex].value + "/" + formulario.fechaini_mes.options[formulario.fechaini_mes.selectedIndex].value + "/" + formulario.fechaini_ano.options[formulario.fechaini_ano.selectedIndex].value + " " + formulario.fechaini_hora.options[formulario.fechaini_hora.selectedIndex].value + ":" + formulario.fechaini_min.options[formulario.fechaini_min.selectedIndex].value + ":00");
vfechaini = date1.setTime(date1temp.getTime());
alert(vfechaini);

date2temp = new Date(formulario.fechafin_dia.options[formulario.fechafin_dia.selectedIndex].value + "/" + formulario.fechafin_mes.options[formulario.fechafin_mes.selectedIndex].value + "/" + formulario.fechafin_ano.options[formulario.fechafin_ano.selectedIndex].value + " " + formulario.fechafin_hora.options[formulario.fechafin_hora.selectedIndex].value + ":" + formulario.fechafin_min.options[formulario.fechafin_min.selectedIndex].value + ":00");
vfechafin = date2.setTime(date2temp.getTime());

if(vfechaini < ifechaini)
{
alert('¡La fecha de inicio introducida no es válida!\nPor favor, selecciona una fecha dentro del rango de fechas.')
//formulario.fechaini_dia.focus();
return false;
}
if(vfechafin > ifechafin)
{
alert('¡La fecha fin introducida no es válida!\nPor favor, selecciona una fecha dentro del rango de fechas.')
//formulario.fechafin_dia.focus();
return false;
}
return true;
}
-------------------------------------------------------------------------------------------------------

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder