Foros del Web » Programando para Internet » Javascript »

Validar Rangos de Fecha

Estas en el tema de Validar Rangos de Fecha en el foro de Javascript en Foros del Web. Hola amigos, necesito validar las fechas introducidas desde un calendario, para q antes de mandar a guardar diuchos datos a mi bd me verifique que ...
  #1 (permalink)  
Antiguo 20/07/2009, 15:51
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Validar Rangos de Fecha

Hola amigos, necesito validar las fechas introducidas desde un calendario, para q antes de mandar a guardar diuchos datos a mi bd me verifique que la fecha no sea mayor a la fecha actual y/o q la fecha de inicio nosea mayor a la fecha de termino... todo esto comparando las fechas introducidas en sus respectivos campos de texto desde un calendario.... porfavor amigos ... ojala alguien me pueda facilitar esta funcion en javascript.... de antemano gracias... bye
  #2 (permalink)  
Antiguo 22/07/2009, 21:23
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Validar Rangos de Fecha

Porfavor amigos ruego su ayuda aun no puedo solucionar este problema de validar los rangos de fecha!!!!!!! de verdad agradeceria en el alma su ayuda amigos!!!!! ojala me puedan ayudar..... de antemano gracias..... bye
  #3 (permalink)  
Antiguo 22/07/2009, 22:26
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Validar Rangos de Fecha

Hola r0xdrig0

Te planteo la siguiente solución, que me ha dado buenos resultados, trabaja las comparaciones de fechas en su formato timestamp de esa forma solo usas una simple resta para saber que fecha es mayor, destaco que el código no es mio.

JAVASCRIPT

Código:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
  function TimeToTimeStamp()
  {
    var timestamp = new Date(Date.UTC(document.miform.inYear.value,
          (stripLeadingZeroes(document.miform.inMon.value)-1),
          stripLeadingZeroes(document.miform.inDay.value),
          stripLeadingZeroes(document.miform.inHr.value),
          stripLeadingZeroes(document.miform.inMin.value),
          stripLeadingZeroes(document.miform.inSec.value)));

    document.miform.result.value = (timestamp.getTime()/1000.0);
  }

  function stripLeadingZeroes(input)
  {
    if((input.length > 1) && (input.substr(0,1) == "0"))
      return input.substr(1);
    else
      return input;
  }
  
  function comparaFecha (ts1,ts2)
  {
	msg =  (ts1>ts2)?'Fecha Ingresada es mayor que fecha actual': 'Fecha actual es mayor que fecha ingresada';
  	alert(ts1 + ' - ' + ts2 + ' = '+ msg);
	
  }
//  End -->
</script>
Luego en la parte del HTML, solo tienes que crear u campo oculto donde coloques mediante PHP la fecha/hora tambien en timestamp y esto lo consigues utilizando la funcion strtotime(fecha/hora), yo asumo en esto que tu calendario te entregara fecha y hora

HTML + Campo Oculto + PHP

Código:
input type="hidden" name="fecha_actual" value="<?php echo strtotime(date("d-m-Y h:i:s")); ?>" />
Y para finalizar invocas a la funcion desde algun boton para que en primer lugar genera el timestamp con la fecha que entregas en tu calendario y un segundo boton que haga la comparacion de estas.

Código:
<input type="button" value="Submit" onClick="TimeToTimeStamp();">
Código:
<input type="button" value="Compara" onClick="comparaFecha(document.miform.result.value, document.miform.fecha_actual.value);">
Espero te sirva

Nota: Este mismo procedimiento lo usas para los dos casos que consultas
Saludos

Fenris
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:31.