Problema com VALIDAR DATA javascript

Fala galera,

alguém pode me ajudar, eu tenho uma data que é preenchida pelo usuário, eu quero fazer uma validação javascript que não deixe o usuário digitar uma data maior que a data de hoje. alguém sabe como faço isso. Estou precisando muito disso!!!

Muito obrigado!!!

Daniel

[quote=danielvrt]Fala galera,

alguém pode me ajudar, eu tenho uma data que é preenchida pelo usuário, eu quero fazer uma validação javascript que não deixe o usuário digitar uma data maior que a data de hoje. alguém sabe como faço isso. Estou precisando muito disso!!!

Muito obrigado!!!

Daniel [/quote]

É interessante ter a validação no lado do servidor, pois o usuário pode desabilitar o javascript no browser. É verdade que muito poucos usuários sabem fazer isso, porém é melhor garantir.

eu preciso fazer essa validação na tela e depois vou validar no proprio java!!! Vc sabe como faço essa validação javascript?

Obrigado!

eu fiz uma função não que valida, mas que aproxima a data, tipo se o usuário escreve-se 40/20/2008 a função ajustaria para 31/12/2008, espero que ajude



function aproximaData(valor)
{
	var arrayData = valor.split('/');

	//Os dias da data
	var dia = Number(arrayData[0]);
	//O mês da data
	var mes = Number(arrayData[1]);
	//O ano da data
	var ano = Number(arrayData[2]);
	//Para guardar o total de dias que tem no mês
	var totalDiasMes;

	//Nos primeiro 7 meses do ano os impares que são os meses que tem 31 dias
	// depois do 7 primeiros os meses que tem 31 são os pares, seta o resultado
	//que deve dar da operação MOD de acordo com esse padrão
	var mod = (mes <= 7 ? 1 : 0);

	//Se for fevereiro tem que saber se é bissexto ou não
	if(mes == 2)
	{
		//Bissexto 29, senão 28
		totalDiasMes = (isLeap(ano) == true ? 29 : 28);
	}
	else
	{
		totalDiasMes = (mes%2==mod ? 31 : 30);
	}

	//Se o dia for maior que o total de dias no mês, então ele será o ultimo
	if(dia > totalDiasMes)
		dia = totalDiasMes;
	else if(dia <= 0)
		dia = 1;
	//Se o mês for maior que 12 então seta o mês para o ultimo mês
	if(mes > 12)
		mes = 12;
	else if(mes <= 0)
		mes = 1;

	//NÃO TESTEI ISTO AINDA
	if(dia.length == 1)
		dia = "0" + dia;

	return ( dia + '/' + mes + '/' + ano);
   }

   function isLeap(year)
   {
     return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));  
   }