• Viernes 8 de Noviembre de 2024, 12:57

Autor Tema:  Validar Fecha que una no sea Mayor que otra  (Leído 12990 veces)

dquispe

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Validar Fecha que una no sea Mayor que otra
« en: Miércoles 15 de Julio de 2009, 16:04 »
0
Hola saludos a todos, tengo un problema... al validar fechas,
 me explico tgo dos cajas de texto, una que es fecha de alta y otra fecha inicial.

La nfecha inicial no puede ser mayor que la fecha de alta, si esto sucede .... debe salir un mensaje mi pregunta es como en java script.
En formato yy/mm/dd

Osea ejemplo:2008
Algo asi espero au ayuda.

fonsi3

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: Validar Fecha que una no sea Mayor que otra
« Respuesta #1 en: Jueves 28 de Enero de 2010, 19:45 »
0
Debes tomar los valores de ambos inputs, y utilizarlos para obtener sus respectivas fecha mediante el objecto Date y utilizar el metodo valueOf() para pasarla a milisegundos, con eso ya sabras cual es mayor. Aqui tienes un ejemplo:

Primero creamos nuestra variable ValFec en formato objecto literal, que se encargara de calcular la fecha:

Código: Text
  1.  
  2. var ValFec = {
  3.   ....
  4. };
  5.  

Ahora creamos una propiedad llamada init, que lo que hara es agregar un evento al segundo input, de tipo blur, asi que cuando este evento ocurra, realizara la validacion:

Código: Text
  1. init: function() {
  2.  ValFec.inputTags = document.getElementsByTagName("input");                
  3.  if (document.addEventListener) {
  4.   ValFec.inputTags[1].addEventListener("blur", ValFec.validate, false);
  5.  } else if (document.attachEvent) {
  6.   ValFec.inputTags[1].attachEvent("onblur", ValFec.validate);
  7.  }
  8. }, 
  9.  

y finalmente creamos la propiedad validate que sera la funcion que se encargara de ver que fecha es mayor

Código: Text
  1. validate: function(evt) {
  2.                    
  3.  var fechaInicio = ValFec.inputTags[0].value;
  4.  var fechaFin = ValFec.inputTags[1].value;
  5.                    
  6.  fechaInicio = fechaInicio.split('/');
  7.  fechaFin = fechaFin.split('/');
  8.                    
  9.  fechaInicio = new Date(fechaInicio[0], fechaInicio[1] - 1, fechaInicio[2]).valueOf();
  10.  fechaFin = new Date(fechaFin[0], fechaFin[1] - 1, fechaFin[2]).valueOf();
  11.                    
  12.  if (fechaInicio > fechaFin) {
  13.   alert("Fecha inicial es mayor, fatal error.");
  14.  }
  15.                    
  16. }
  17.  

Listo, una vez creado nuestro objecto con todo este codigo, solo habra que llamarlo mediante el window.onload

Código: Text
  1. window.onload = function() {
  2.  ValFec.init();
  3. };
  4.  

Mi mark-up html que utilice de prueba fue el siguiente:

Código: Text
  1. <body>
  2.  <span>Fecha Inicio:</span><input type="text" value="2010/05/03" />
  3.  <span>Fecha Fin:</span><input type="text"  value="2009/12/27" />
  4. </body>
  5.  
Cha che chi cho chu buenichimo!
http://mensoscripts.com

Links de interes: HTML | CCS2~CSS* | PHP
Indispensables tools]Firebug[/url] | Web Developer | FireFTP | Live Headers

dquispe

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Validar Fecha que una no sea Mayor que otra
« Respuesta #2 en: Jueves 28 de Enero de 2010, 22:25 »
0
Tio mil gracias pero ya lo logre validar de otra manera pero interesante es tu foma.. saludos ..