galera
estou com um problema que estou comparando para ver se a data que foi digitada e menor que a data atual se foi entra na validação e usuario e obrigado a digitar uma data maior que a atual,
o problema e que isso esta funcionando apenas com o dia digitado… o mês e o ano não esta sendo feita a verificação
alguém pode ajudar ?
coloquei esses alert e esta mostrando corretamente, o unico problema mesmo e que não esta validando o mes e o ano
alert('data de desativação ’ + form[“dataDesativacao”].value);
alert('data do Dia ’ + dataDoDia);
var data = new Date();
var dia = data.getDate()+ 1;
var mes = data.getMonth()+ 2;
var ano = data.getFullYear();
var dataDoDia = dia+ '/'+ mes + '/' + ano ;
if(form["dataDesativacao"].value < dataDoDia){
addMensagem('<bean:message key="<%=ConstantesInterfaceSistemaRecebimento.LABEL_USUARIO_SISTEMA_RECEBIMENTO_DATA_DESATIVACAO%>"/>' + ' e obrigatório é tem que ser Maior que a data Atual ');
}
crie 2 objetos do tipo date e compare os 2, segue um pequeno código de exemplo:
<html>
<head>
<script language="javascript">
function clickMe()
{
var dataForm = (document.forms[0]["dataDesativacao"].value).split("/");
var hoje = new Date();
var dataInformada = new Date(dataForm[2], dataForm[1]-1, dataForm[0]);
if ( hoje < dataInformada )
{
alert("Hoje [" + hoje + "] é ANTERIOR a data informada! [" + dataInformada + "]");
}
else if ( hoje.getDate() == dataInformada.getDate() )
{
alert("Hoje [" + hoje + "] é A MESMA DATA que a data informada! [" + dataInformada + "]");
}
else
{
alert("Hoje [" + hoje + "] é POSTERIOR a data informada! [" + dataInformada + "]");
}
}
</script>
</head>
<body>
<form>
<input type="text" name="dataDesativacao" id="dataDesativacao" value="10/05/2010">
<input type="button" onClick="clickMe()" value="click me">
</form>
</body>
</html>
na linha 14
else if ( hoje.getDate() == dataInformada.getDate() )
eu coloquei o getDate para ignorar hora, minuto, segundo e milesegunda na comparação, não é obrigatório
até m ais
Resolvido,
aechiara valeu pela dica no meu if da função estava comparando String e não Date alterei com essas 2 linhas e funcionou
var dataForm = (form["dataDesativacao"].value).split("/");
var dataInformada = new Date(dataForm[2], dataForm[1]-1, dataForm[0]);
Reforçando: Não estava funcionando devido eu comparar String e não Date