Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rosye

Validação de data

Recommended Posts

Oi, pessoal!Preciso fazer a validação de uma data que entrará no meu banco de dados. Essa data será inserida pelo usuário em um form, usando o formato dd/mm/aaaa, e será armazenada no banco através da variável Data_nascimento.Achei esse script bem simples que faz essa validação:if (strstr($Data_nascimento, '/')==FALSE OR (strlen($dia)!=2 || $dia>31 || $dia=00 || strlen($mes)!=2 || $mes>12 || $mes=00 || strlen($ano)!=4 || $ano=0000 || $ano<1900)){echo "data invalida";}Até aí tudo bem, mas como faço para quebrar a variável $Data_nascimento em $dia, $mes e $ano??Agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, Walace!

 

Funcionou, mas o problema agora é que a função "explode" retira as barras da data, e eu não consigo mais verificar se elas foram digitadas pelo usuário (quando digito uma data sem as barras e faço a verificação if (strstr($Data_nascimento, '/')==FALSE), aparecem as mensagens: Notice: Undefined offset: 1 e Notice: Undefined offset: 2.

 

Não tem um jeito de inserir as barras automaticamente enquanto se digita a data no formulário? Já vi isso em sites de banco. Isso resolveria o meu problema, pois não dependeria do usuário digitar ou não as barras (elas estarão lá de qualquer jeito) e essa verificação não precisaria ser feita...

 

Valeu! ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Taí, é javascript. No input do campo: onkeypress="formata_data(this)"

 

E a função está aí:

    function formata_data(obj)     {        vardata = obj.value        if (vardata.length == 2)        {            vardata = vardata+"/"            obj.value = vardata        }        if (vardata.length == 5)        {            vardata = vardata+"/"            obj.value = vardata        }     }

Qualquer coisa grite !

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.