Ir para conteúdo

POWERED BY:

Arquivado

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

dataset

[Resolvido] IsDate jquery

Recommended Posts

Prezados, boa tarde;

 

Estou tentando achar uma função em jQuery que valide uma string e retorne se ela é do tipo data ou não. (Formato da data DD/MM/YYYY)

Todas as pesquisas que fiz me trouxe o validate. Mas o Validate nao me serve, pois nao vou exigir que o usuário digite a data.

 

Tenho um input se for digitado a data então na consulta SQL eu procuro todos os registros que tenha a data.

 

Mas se ele nao digitar a data, entao a consulta traz todos os registros.

 

Só que se o cara digitar uma data inválida, então da erro na consulta. Dai pensei usar tipo um IsDate com jQuery nesse input. Se retornar true eu faço o submit, se retornar false então eu mostro uma mensagem usando o alert do JavasCript dizendo que a data digitada não é válida.

 

Mas não to sabendo usar algo que simule o IsDate() em jQuery.

 

Eu fiz assim até agora....

 

$("#IdDtIniCad").mask("99/99/9999", {
   completed: function () {

$("#idFormBarraPesquisa").validate({
	rules: {
		'dtIniCad': {required: true, dateBR: true},
    },
	messages: {
		dtIniCad: {required: "Digite a Data Inicial", dateBR: window.alert('ALERTA DO SISTEMA!\n\nEsta data ' + this.val() + ' não é válida.')},
	},
});


   }
})

 

Alguém pode me ajudar ?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, nesse caso você terá que abrir o codigo do extends DateBR, e implementar o teu alert() nele.

 

poste aqui se tiver dúvidas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então....

 

Eu nao queria usar o Validate. Eu preciso de algo que simule o IsDate(); Só que usando o jQuery. Preciso validar uma data que vai ser digitada num campo input.

 

Não to conseguindo.

 

você pode me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay.. vamos lá.

 

liste quais são as regras, para 'ser uma data'.

-> Estar no formato dd/mm/aaaa

-> aaaa deve ser maior que 1900..

-> dd deve ser maior que 1 e menor que 31...

-> ...

 

 

depois de escrever o algoritmo, você pode implementar a function que disparada no onsubmit do form(), retorne true, ou o alert( 'Data Invalida' );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo algo assim:

 

$("#IdNomeConsulta").IsDate();

 

Dai eu consigo usar o if

 

if ($("#IdDtIniCad").IsDate()) {
  alert('Esse valor é uma data');
}
else {
  alert('Esse valor Não é uma data');
}

 

Eu to querendo retornar true ou false num input, e to querendo validar pro tipo data. Queria que o retorno fosse true ou false.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então você já tem o plugin ?

 

poste um link para ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu nao tenho o plugin.

 

Eu queria saber se tem algo nesse sentido. Que me valide uma data digitada num input e retorne true ou false.

 

Preciso disso.

 

Alguém sabe como validar ?

 

Tanks

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara.. eu te pedi para criar o algoritmo, para construirmos a validação por aqui.

Eu sei como fazer, porém não vou fazer para ti, por isso citei as etapas para que você fizesse.

 

 

não tenho o script pronto, mas esse dá para achar pesquisando.

Pesquise por 'validar data javascript.

 

você verá links q não usam o validate.

 

a class Date te faz um parser muito bom, naturalmente usasse ela para esse tipo de validação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A ta.. entendi...

 

A ideia he construir uma função javascript que valide uma data. E depois chamar ela.

 

Ok... vou fazer essa primeira parte... aguenta ai que ja posto o resultado.

 

att;

 

Pronto... fiz assim:

 

function fIsDate(data) {
   if (data.length == 10) {
       er = /(0[0-9]|[12][0-9]|3[01])[-\.\/](0[0-9]|1[012])[-\.\/][0-9]{4}/;
       if (er.exec(data)) {
           return true;
       } else {
           return false;
       }

   } else {
       return false;
   }
}

 

Dentro do $(document).ready(function () { fiz assim: Chamando a função fIsDate().

$("#IdDtIniCad").mask("99/99/9999", {
   completed: function () {
alert(fIsDate(this.val()));
   }
});

 

É dessa forma que funciona ?

 

Eu pensei que o jQuery tinha algo nativo que ja validava uma string. Mas se for usando uma função a aparte, então entendi o processo.

 

É dessa forma que funciona ? Unindo o jQuery com uma função externa ?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim.. jQuery é apenas javascript.

 

existem muitas coisas prontas na biblioteca, mas note qnto tempo você perdeu procurando algo pronto, contra os 9 minutos que você levou para fazer 'do zero'.

hehe.. muito mais produtivo ne?! :lol:

 

parabéns.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... você he d+

 

Deu certo... Eu nao tava entendendo muito bem. Mas as coisas estao ficando mais claras.

 

Valeu.

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.