Jump to content
JenneferBarbosa

[Resolvido] Validação de datas

Recommended Posts

<label>Data Inicio</label>
  <input type="date" name="data_inicio-incluir" id="data_inicio-incluir"> 
<label>Data Fim</label>
   <input type="date" name="data_fim-incluir" id="data_fim-incluir">

Boa tarde pessoal, estou iniciando em JS e não sei como fazer a validação de datas. Estou fazendo um sistema de aluguel de livros, então,  como consigo verificar se a data_fim não é menor que a data inicio e que a data_fim seja de 1 até 7 dias depois da data_inicio, não podendo ultrapassar. Se alguém tiver como me ajudar, ficarei muito grata.  

Share this post


Link to post
Share on other sites

@JenneferBarbosa Boa tarde!

 

Para fazer a validação da data usando javascript recomendo o uso do object Date do javascript, você pode cria um object Date e depois fazer a manipulação da data com os métodos do próprio objeto.

 

Você pode criar uma data usando os valores inseridos no input type data, assim você consegue fazer uma adição de dias sem problema usando os método do objeto Date.

 

Aqui tem um Ótimo tutorial de como usar o objeto Date do javascript:

https://www.w3schools.com/js/js_dates.asp

 

Vou deixa um código de exemplo de como eu utilizei o objeto data para fazer a verificação solicitadas.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Verificar a data</title>
    </head>
    <body>
        <p id="msg"></p>
        <label>Data de retirada:</label><br>
        <input type="date" id="data_inicio-incluir"><br><br> 
        <label>Data de entrega:</label><br>
        <input type="date" id="data_fim-incluir"><br><br>
        <button onclick="verificarData()">Verificar</button>
        <script>

            var dataInicio, dataFinal, msg;

            window.onload = function(){
                dataInicio = document.getElementById("data_inicio-incluir");
                dataFinal = document.getElementById("data_fim-incluir");
                msg = document.getElementById("msg");
            };

            function verificarData()
            {
                let dataI, dataF;

                dataI = dataInicio.value;
                dataF = dataFinal.value;

                dataI = dataI.replace(/[^0-9-]/g, "").trim(); // Filtrando o valor do input
                dataF = dataF.replace(/[^0-9-]/g, "").trim(); // Filtrando o valor do input

                if (dataI == "" && dataI.length != 10)
                {
                    msg.innerHTML = ("A data de retirada é invalida.");
                    return false;
                }

                if (dataF == "" && dataF.length != 10)
                {
                    msg.innerHTML = ("A data de entrega é invalida.");
                    return false;
                }

                if (dataI != "" || dataF != "" || dataI.length == 10 || dataF.length == 10)
                {
                    dataI = new Date(dataI);
                    dataF = new Date(dataF);

                    if (dataF <= dataI)
                    {
                        msg.innerHTML = ("A data entrega não pode ser menor ou igual a data da retirada.");
                        return false;
                    }

                    dataI.setDate(dataI.getDate() + 7);

                    if (dataF > dataI)
                    {
                        msg.innerHTML = ("A data de entrega não pode ser maior que 7 dias da data da retirada.");
                        return false;
                    }

                    msg.innerHTML = ("Ok");
                    return true;
                }

            }

        </script>
    </body>
</html>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Henrique Augusto Rohloff
      Olá! Sou iniciante e estou treinando para configurar uma página de buscas de produtos em um banco de dados.
      Os produtos já estão sendo encontrados quando a palavra bate com os itens do banco. A conexão com o banco de dados está funcionando corretamente. Porém, quando nada é encontrado, queria que aparecesse uma mensagem "Nenhum resultado, tente novamente." Já tentei com  else de tudo que é jeito mas não aparece corretamente... Qual é o jeito certo?
       
      Segue o código:
       
       
    • By maruoppolo
      Olá, tenho 2 tabelas:
       
      tb_dados: ID - MUSICA
       
      tb_votos: ID - VOTO - RADIO - MUSICA
       
      Preciso fazer uma query que traga as musicas da tb_dados porém ordenando pelo número de votos que ela teve na tb_votos.
       
      Então assim, existem 2 tipos de voto 1 = like e 2 = dislike, cada ver que um usuário vota eu pego qual radio que ele esta ouvindo e salvo no campo radio, o id da musica na tb_dados e salvo no campo musica da tb_votos e coloco o número 1 para like e 2 para dislike no campo voto.
       
      A query precisa contar quantos likes teve na tv_votos filtrando por radio e mostrando os resultados em ordem decrescente as musicas com mais likes.
       
      A ideia é trazer as 10 musicas com mais like de cada radio
       
      Alguma ideia de como fazer?? Estou enroscado nisso a dias.
    • By Ewfc2005
      Eu sou um programador amador, e ainda estou aprendendo programação, comecei um site, mas esqueci de faze-lo para ser responsivo, agora preciso de ajuda
      pois nao consigo deixa-lo responsivo
       

      Codigo HTML
       
      Codigo CSS

       
       
      Ele está mal feito, ainda tenho que arrumar muita coisa, se alguem conseguir me ajudar e dizer como ele pode ficar responsivo
      eu Agradeço.
    • By Chester1
      oi, eu to tentando mexer com servidores agora no PHP e esta dando um erro muito estranho que quando eu procuro em um programa que acha erros de sintaxe ele me diz que o erro esta no </HTML>    se alguem puder me dizer qual foi o erro que eu cometi eu agradeceria
       

       
      <HTML> <HEAD><TITLE>incluindo no banco de dados</TITLE></HEAD> <body> <BODY bgcolor="#d0d0d0"> <center> <h3>Lanchonete coma bem (voltada para o internauta)</h3> <h1>24horas</h1> <?php $login_digitado=$_POST['login']; $senha=$_POST['senha']; $nome=$_POST['nome']; $email=$_POST['email']; $telefone=$_POST['telefone']; $celular=$_POST['celular']; $endereco=$_POST['endereco']; $complemento=$_POST['complemento']; if ($login_digitado == "" || $senha == "" || $nome =="" || $email == "" || $telefone == "" || $endereco == "" || $complemento == "") { echo "existem(m) campos(s) de preenchimento obrigatorio em branco,<BR> infelizmente tera que voltar para preenche-lo(s)."; echo "<BR><a href=\"cadastro.php\">clique aqui para tentar novamente</a>"; } else { { $link=mysql_connect("localhost", "root", "") or die ("<h1>nao foi possivel conectar !!!</h1> ".mysql_error());  
      obs :estou trabalhando com formularios e servidores
         
         
         
         
      ?>
      </BODY>
      </HTML>
    • By DavidPin94
      Boa tarde, estou tentando criar uma validação para saber se o usuário já está cadastrado no meu banco de dados para meu sistema ficar mais organizado, porém quando realizo o teste cadastrando um usuário já cadastrado, o cadastro ocorre sendo que não era para ocorrer
      <?php require_once("conexao.php");?> <?php if (isset($_POST['usuario'])) { $nome = utf8_decode($_POST['usuario']); $senha = utf8_decode($_POST['senha']); $inserir = "INSERT INTO cadastro "; $inserir .= "(usuario, senha) "; $inserir .= "VALUES "; $inserir .= "('$nome', '$senha')"; $query = "SELECT usuario FROM cadastro WHERE usuario = '$usuario' LIMIT 1"; $consulta = mysqli_query($conecta, $query); $query = "SELECT usuario FROM clientes WHERE usuario = '$usuario' LIMIT 1"; $consulta = mysqli_query($conecta, $query); if (mysqli_num_rows($consulta) < 1) { $operacao_inserir = mysqli_query($conecta, $inserir); if (! $operacao_inserir) { die("Erro no banco"); }else header("location: login.php"); }else{ die("Usuário existente!"); } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Cadastrar novo usuário</title> <link rel="stylesheet" type="text/css" href="estilo.css"> </head> <body> <nav> <ul> <li><a href="inicial.php">PÁGINA INICIAL</a></li> <li><a href="quem_somos.php">QUEM SOMOS</a></li> </ul> </nav> <div id="cadastro"> <form method="post" action="cadastro.php"> <label>Digite seu nome de usuário</label> <input type="text" name="usuario" placeholder="Ex: Usuario123" required size="50" minlength="5" maxlength="20" autofocus><br> <label>Digite sua senha</label> <input type="password" name="senha" placeholder="Deve conter mais de 5 caracteres" required size="50" minlength="5" maxlength="20" autofocus><br> <input type="submit" value="Cadastrar" id="enviar" name="enviar"> </form> </div> </body> </html> ,  alguém poderia me ajudar?  Meu código:
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.