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));
}