Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2009, 13:55
warbandit69
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 16 años, 1 mes
Puntos: 19
Busqueda Problemas con validación/comprobación de dos fechas diferentes

Hola. foreros gracias por leer mi nota, tengo un formulario donde debo ingresar una fecha de adquisicion y una fecha de vencimiento de garantia del articulo, consegui un script por internet pero no me funciona, no se si ustedes podrian ayudarme, aca se los dejo:

Deseo acotar que capturo las fechas de la siguiente forma predeterminada por mysql AAAA-MM-DD.

Código HTML:
// Aqui valido el formulario del nuevo articulo, no les copie todas las funciones porque son demasiadas.
function Activo(){
var serialemp = document.getElementById("serialemp");
var serial = document.getElementById("serial");
var descripcion = document.getElementById("descripcion");
var proveedor = document.getElementById("proveedor");
var ubicacion = document.getElementById("ubicacion");
var area = document.getElementById("area");
var factura = document.getElementById("factura");
var fecha_adq = document.getElementById("fecha_adq");
var fecha_gar = document.getElementById("fecha_gar");
var cantidad = document.getElementById("cantidad");
var precio = document.getElementById("precio");
var estado = document.getElementById("estado");
var ci_responsable = document.getElementById("ci_responsable");
var nombre_responsable = document.getElementById("nombre_responsable");
var ci_usuario = document.getElementById("ci_usuario");
var nombre_usuario = document.getElementById("nombre_usuario");

// Chequeo cada input en el orden que me salen en el formulario
if(notEmpty(serialemp, "Por favor ingrese algun serial empresarial para el activo") && isNumeric(serialemp,"Por favor ingrese sólo números para el serial empresarial"))
	{
	if(isSerialEmp(serialemp,"Por favor ingrese un serial empresarial válido, no debe tener ni más ni menos de 7 caracteres"))
		{
		if(notEmpty(serial, "Por favor ingrese el serial del artículo, en caso no tener, coloque N/A"))
			{
			if(notEmpty(descripcion, "Por favor ingrese una descripción del artículo/activo"))
				{
				if(madeSelectionProveedor(proveedor, "Por favor seleccione un proveedor"))
					{
					if(madeSelectionUbicacion(ubicacion, "Por favor seleccione una ubicación"))
						{
						if(madeSelectionArea(area, "Por favor seleccione un Area"))
							{
							if(notEmpty(factura,"Ingrese el número o código de Factura"))
								{
								if(fecha(fecha_adq,"Por favor haga clic en el cuadro de texto de Fecha de Adquisición para seleccionar una fecha"))
									{
									if(fecha(fecha_gar,"Por favor haga clic en el cuadro de texto de Fecha de Vencimiento de Garantía para seleccionar una fecha"))
										{
// Esta es la linea donde tengo problemas mas abajo pongo la funcion.
										if (compare_dates(fecha_gar, fecha_adq))
											{
											if (notEmpty(cantidad,"Por favor ingrese la cantidad del(de los) artículo(s)") && isNumeric(cantidad,"Sólo son aceptados números para la cantidad"))
												{
												if (notEmpty(precio,"Por favor ingrese el precio del(de los) artículo(s)") && isNumeric(precio,"Sólo son aceptados números para el precio, Ej: 106.45 "))
													{
													if (madeSelectionEstado(estado, "Por favor seleccione un estado"))
														{
														if (madeSelectionResponsable(ci_responsable, "Por favor seleccione una persona Responsable"))
															{
															if (notEmpty (nombre_responsable, "Por favor seleccione una persona Responsable"))
																{
																if (madeSelectionUsuario(ci_usuario, "Por favor seleccione la persona usuario(a)"))
																	{
																	if (notEmpty(nombre_usuario,"Por favor seleccione la persona usuario(a)"))
																		{
																		return true;
																		}
																	}
																}
															}
														}
													}
												}		
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
return false;
}
// Esta es la función
function compare_dates(fecha, fecha2)  
   {  
     var xMonth=fecha.substring(5, 7);  
     var xDay=fecha.substring(8, 10);  
    var xYear=fecha.substring(0,4);  
     var yMonth=fecha2.substring(5, 7);  
     var yDay=fecha2.substring(8, 10);  
     var yYear=fecha2.substring(0,4);  
     if (xYear> yYear)  
     {  
         return(true)  
     }  
     else  
     {  
       if (xYear == yYear)  
       {   
         if (xMonth> yMonth)  
        {  
             return(true)  
        }  
         else  
         {   
          if (xMonth == yMonth)  
          {  
            if (xDay> yDay)  
               return(true);  
            else  
               alert ("La fecha de Vencimiento de Garantía no puede ser menor a la fecha de Adquisición");
			   fecha_gar.focus();
			   return(false);
           }  
           else  
             alert ("La fecha de Vencimiento de Garantía no puede ser menor a la fecha de Adquisición");
			 fecha_gar.focus();
			 return(false);
          }  
        }  
         else  
         alert ("La fecha de Vencimiento de Garantía no puede ser menor a la fecha de Adquisición");
		 fecha_gar.focus();
		 return(false);
     }  
 }