Colleagues have already presented answers that will work if you implement them.
In the meantime I've made the code a bit more pertaining to the universe of your question:
There are two input type='date'
the first is filled with the current date
The second is populated by the user, and soon after the function validacao()
is called, either by click
or blur
.
Code Commented
$(document).ready(function(){
function validacao()
{
if($('.final').val() == '')
{
//Mensagem será exibida caso o input final tenha qualquer elemento vazio
$('.notificacao').html('');
$('.notificacao').html('O campo da data final está incompleto!');
$('.final').css('border', '1px solid red');
$('.final').focus();
}
else
{
$('.notificacao').html('');
var vetData = [];
vetData = $('.final').val().split('-');
//Transformamos o valor do input final para um tipo Date()
var dataFinal = new Date(vetData[0],vetData[1]-1,vetData[2]);
//Comparamos as duas datas
if(hoje > dataFinal)
{
$('.notificacao').html('');
$('.final').css('border', '1px solid red');
$('.notificacao').html('A data final já passou!');
$('.final').focus();
}
else
{
$('.notificacao').html('');
$('.notificacao').css('color', 'green');
$('.notificacao').html('Data legal!');
}
}
}
// Pega o dia de hoje
var hoje = new Date();
var a = hoje.getFullYear();
var m = hoje.getMonth()+1;
var d = hoje.getDate();
//Preenche primeiro input
$('.inicial').val(a+'-'+m+'-'+d);
//Chame a função dessa forma caso queira que a validação funcione logo após o input perder o foco
$('.final').blur(function(){
validacao();
});
//Ou chame dessa forma caso queira que a validação funcione após o clique em um botão
$('.btn').on('click', function(){
validacao();
});
});
.g{margin:5.5px;}
.btn{padding:5px; border:1px solid coral; width: 50px; text-align:center;cursor:pointer;}
.notificacao{color:red}
.i:focus{outline:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>DataInicial<br><inputtype='date'class='iginicial'/><br>DataFinal<br><inputtype='date'class='igfinal'/><divclass='gbtn'>Testar</div><divclass='gnotificacao'></div>
Paycloseattentionwhenusing.focus
andblur
together.Iftheuserdoesnotsetthecorrectvalidation,hewillneverbeabletoexittheinput!
UsefulLink
Comparison of dates in Javascript