I have a function in JS that validates the date so that it is not smaller than today's date, is working correctly, however when you press the form button, it shows the message that the date is incorrect, and even the date being wrong it still does the submit.
JS Code:
<script type="text/javascript">
function validadata(dia) {
var data = document.getElementById("data").value; // pega o valor do input
data = data.replace(/\//g, "-"); // substitui eventuais barras (ex. IE) "/" por hífen "-"
var data_array = data.split("-"); // quebra a data em array
var dia = data_array[2];
var mes = data_array[1];
var ano = data_array[0];
// para o IE onde será inserido no formato dd/MM/yyyy
if (data_array[0].length != 4) {
dia = data_array[0];
mes = data_array[1];
ano = data_array[2];
}
var hoje = new Date();
var d1 = hoje.getDate();
var m1 = hoje.getMonth() + 1;
var a1 = hoje.getFullYear();
var d1 = new Date(a1, m1, d1);
var d2 = new Date(ano, mes, dia);
var diff = d2.getTime() - d1.getTime();
diff = diff / (1000 * 60 * 60 * 24);
if (diff < 0) {
alert("Data não pode ser anterior ao dia de hoje!");
} else if (diff > 7) {
alert("Data não pode ser maior que uma semana!");
}
}
function validarFormulario(cad) {
if (!validadata(cad.txtDat.value)) {
return;
}
cad.submit();
}
</script>
Form Code:
<form method="post" action="inserirChamado.php" id="cad">
<div class="form-group">
<label class="p-small" for="sel1">Selecione seu problema:</label>
<select class="form-control" id="sel1" name="cbProblema">
<option class="p-small" value="0">Selecione...</option>
<option class="p-small" value="1">Computador reiniciando</option>
<option class="p-small" value="2">Computador liga, mas fica com tela preta com beeps</option>
<option class="p-small" value="3">Computador não reconhece a capacidade total da(s) memória(s)</option>
<option class="p-small" value="4">Computador só entra em modo de segurança</option>
<option class="p-small" value="5">Impressora com engasgo do papel</option>
<option class="p-small" value="6">Máquina não reconhece teclado e/ou mouse</option>
<option class="p-small" value="7">Máquina não conecta à Internet</option>
<option class="p-small" value="8">Portas USB não reconhecidas</option>
<option class="p-small" value="9">Computador liga, mas não gera</option>
<option class="p-small" value="10">Computador não emite som</option>
</select>
</div>
<label class="p-small" for="sel1">Não achou o seu problema? Descreva-o:</label>
<input class="form-control p-small" type="text" name="txtDesc" placeholder="Descrição do problema">
<br>
<br>
<label class="p-small" for="sel1">Data para o técnico comparecer ao seu endereço:</label>
<input class="form-control p-small" type="date" name="txtDat" id="data" required="Esse campo é necessário!" >
<br>
<br>
<button class="btn btn-lg btn-primary btn-block p-large botao" type="submit" id="btn1" onclick="validarFormulario(this.form)" >Cadastrar</button>
</form>