Fala pessoal,
Alguém pode me ajudar? É o seguinte, eu tinha uma validação de data que quando o usuário digitava a Data de Início, ela validava se a data de Início erá igual a data de hoje. Me foi pedido que eu fizesse uma validação que o usuário pode inserir uma Data de Inicio com até 7 dias pra frente ( ex: hoje é dia 17/04/2009, no campo Data de Inclusão ele pode colocar a data 24/04/2009, se ele colocar 25/04/2009 a função vai travar) minha validação está fazendo isso, só que quando chegar dia 30 vai dar erro pq estou adicionado 7 ao dia de hoje. Como faço pra minha validação funcionar quando a data for 30 ou 31?
Segue meu código abaixo!!!
function validaDataInicio(campo)
{
if (campo.value!="")
{
erro=0;
hoje = new Date();
dataJsp = new Date();
dataJsp = campo;
dataAte = new Date();
dataAte.setDate(hoje.getDate() + 7);
alert(dataJsp.value);
alert(dataAte.toLocaleDateString() );
if (dataAte <= dataJsp) {
alert("A data de inscrição não pode ser superior a 7 dias da data atual.");
campo.focus();
return false;
}else {
anoAtual = hoje.getFullYear();
diaAtual = hoje.getDate ();
mesAtual = hoje.getMonth();
mesAtual = mesAtual + 1;
barras = campo.value.split("/");
if (barras.length == 3)
{
dia = barras[0];
mes = barras[1];
ano = barras[2];
resultado = (!isNaN(dia) && (dia > 0)
&& (dia < 32))
&& (!isNaN(mes)
&& (((dia <= diaAtual) && (mes <= mesAtual)) || ((dia >= diaAtual) && (mes < mesAtual)))
&& (mes > 0)
&& (mes < 13))
&& (!isNaN(ano)
&& (ano.length == 4)
&& (ano >= 1900 && ano <= anoAtual));
}else{
alert("Data inválida.");
campo.focus();
return false;
}
}
}
}
Muito Obrigado.