Ir para conteúdo
Fórum Script Brasil
  • 0

Validar Datas Antes Do Insert Na Tabel


acmsoft

Pergunta

Viva

Num formulário tenho um campo text para introduzir a data de nascimento.

Só que, se o utilizador introduzir uma data inválida (exemplo: 2004-13-32), dá bico. O insert é feito na tabela mas o campo data de nascimento fica vazio.

Como é que eu posso validar esta data antes de fazer o insert na tabela?

Não quero usar combos (embora já tenho visto um post com a solução).

Obrigado.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olá...

abaixo, segue um script de máscara + validação de datas.

Se você souber um pouco de JS, pode ajustar como quiser. biggrin.gif

function mascara_data(data){ 
              var mydata = ''; 
              mydata = mydata + data; 
              if (mydata.length == 2){ 
                  mydata = mydata + '/'; 
                  document.forms[0].data.value = mydata; 
              } 
              if (mydata.length == 5){ 
                  mydata = mydata + '/'; 
                  document.forms[0].data.value = mydata; 
              } 
              if (mydata.length == 10){ 
                  verifica_data(); 
              } 
          } 
           
          function verifica_data () { 

            dia = (document.forms[0].data.value.substring(0,2)); 
            mes = (document.forms[0].data.value.substring(3,5)); 
            ano = (document.forms[0].data.value.substring(6,10)); 

            situacao = ""; 
            // verifica o dia valido para cada mes 
            if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
                situacao = "falsa"; 
            } 

            // verifica se o mes e valido 
            if (mes < 01 || mes > 12 ) { 
                situacao = "falsa"; 
            } 

            // verifica se e ano bissexto 
            if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
                situacao = "falsa"; 
            } 
    
            if (document.forms[0].data.value == "") { 
                situacao = "falsa"; 
            } 
    
            if (situacao == "falsa") { 
                alert("Data inválida!"); 
                document.forms[0].data.focus(); 
            } 
          } 

Flws.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi OSJunior

Estive a testar o script e pelo que percebi a ideia é pendurar a função mascara_data() num evento no meu campo dtnasc. É isso não é?

Então em que evento?

Tentei o onchange e não deu. O meu código está assim:

<input name="dtnasc" type="text" id="dtnasc" size="10" maxlength="10" onChange="javascript: mascara_data(document.form1.dtnasc)">

[code]

Pode me ajudar?

O problema é que eu percebo pouco de javascript biggrin.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...