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

Validar Campo Data


acdestefani

Pergunta

Olá!!!

Criei um campo data no meu formulário. Gostaria de criar uma validação para esse campo onde seria permitido deixá-lo em branco e quando fosse digitado uma data ele chegaria se a data tá correta, tipo pra evitar que seja digitado, por exemplo, dia 32, mês 13, etc.

Desde já agradeço a ajuda de vocês.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Veja se lhe serve:

<script language=javascript>
// VALIDA DATAS

function isDigit(theDigit)
{
var digitArray = new Array('0','1','2','3','4','5','6','7','8','9'),j;

for (j = 0; j < digitArray.length; j++)
{if (theDigit == digitArray[j])
return true
}
return false

}

function isPositiveInteger(theString)
{
var theData = new String(theString)

if (!isDigit(theData.charAt(0)))
if (!(theData.charAt(0)== '+'))
return false

for (var i = 1; i < theData.length; i++)
if (!isDigit(theData.charAt(i)))
return false
return true
}

function isDate(s,f)
{var a1=s.split("/");
var a2=s.split("-");
var e=true;
if ((a1.length!=3) && (a2.length!=3))
{
e=false;
}
else
{if (a1.length==3)
var na=a1;
if (a2.length==3)
var na=a2;
if (isPositiveInteger(na[0]) && isPositiveInteger(na[1]) && isPositiveInteger(na[2]))
{ if (f==1)
{var d=na[1],m=na[0];
}
else
{var d=na[0],m=na[1];
}
var y=na[2];
if (((e) && (y<1000)||y.length>4))
e=false
if (e)
{
v=new Date(m+"/"+d+"/"+y);
if (v.getMonth()!=m-1)
e=false;
}
}
else
{
e=false;
}
}
return e
}
function checkDate(v,descricao)
{
var s=v.value;
if (!isDate(s,0)&& s != ""){ //dd/mm/yyyy format
alert("O valor informado no campo: " + descricao + " não é uma data válida");
v.focus();
}
return false;
}
</script>
e no input:
<input type="text" name="campo" onBlur="return checkDate(this,'Data')">

falou

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Andreia!

Eu já tenho esta função pra validar o formulário:

<script language="JavaScript">

function validaForm(){

d = document.cad_notif;

//validar campo Numero da Notificacao

if (d.nnotif.value == ""){

alert ("O campo Nº DA NOTIFICAÇÃO deve ser preenchido!");

d.nnotif.focus();

return false;

}

//validar campo Numero da Notificacao(verificacao se contem apenas numeros)

if (isNaN(d.nnotif.value)){

alert ("O campo Nº DA NOTIFICAÇÃO deve conter apenas numeros!");

d.nnotif.focus();

return false;

}

//validar campo Inscricao Cadastral

if (d.insccad.value == ""){

alert ("O campo INSCRIÇÃO CADASTRAL deve ser preenchido!");

d.insccad.focus();

return false;

}

//validar campo Inscricao Cadastral(verificacao se contem apenas numeros)

if (isNaN(d.insccad.value)){

alert ("O campo INSCRIÇÃO CADASTRAL deve conter apenas numeros!");

d.insccad.focus();

return false;

}

//validar campo Fiscal

if (d.nomefiscal.value == ""){

alert("O campo FISCAL deve ser preenchido!");

d.nomefiscal.focus();

return false;

}

//validar campo Proprietario

if (d.proprietario.value == ""){

alert("O campo PROPRIETÁRIO deve ser preenchido!");

d.proprietario.focus();

return false;

}

//validar campo Endereco

if (d.rua.value == ""){

alert("O campo ENDEREÇO deve ser preenchido!");

d.rua.focus();

return false;

}

//validar campo numero(verificacao se contem apenas numeros)

if (isNaN(d.numero.value)){

alert ("O campo NÚMERO deve conter apenas numeros!");

d.numero.focus();

return false;

} //validar campo Bairro

if (d.bairro.value == ""){

alert("O campo BAIRRO deve ser preenchido!");

d.bairro.focus();

return false;

}

//validar campo CEP

if (d.cep.value == ""){

alert("O campo CEP deve ser preenchido!");

d.cep.focus();

return false;

}

//validar campo CEP (verificacao se contem apenas numeros)

if (isNaN(d.cep.value)){

alert ("O campo CEP deve conter apenas numeros!");

d.cep.focus();

return false;

}

//Local onde vou inserir a validação da DATA

}

</script>

Seria possível inserir esse seu script dentro do meu script?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu não testei, mas é assim:

<script language="JavaScript">
function validaForm(){
d = document.cad_notif;
//validar campo Numero da Notificacao
if (d.nnotif.value == ""){
alert ("O campo Nº DA NOTIFICAÇÃO deve ser preenchido!");
d.nnotif.focus();
return false;
}
//validar campo Numero da Notificacao(verificacao se contem apenas numeros)
if (isNaN(d.nnotif.value)){
alert ("O campo Nº DA NOTIFICAÇÃO deve conter apenas numeros!");
d.nnotif.focus();
return false;
}
//validar campo Inscricao Cadastral
if (d.insccad.value == ""){
alert ("O campo INSCRIÇÃO CADASTRAL deve ser preenchido!");
d.insccad.focus();
return false;
}
//validar campo Inscricao Cadastral(verificacao se contem apenas numeros)
if (isNaN(d.insccad.value)){
alert ("O campo INSCRIÇÃO CADASTRAL deve conter apenas numeros!");
d.insccad.focus();
return false;
}
//validar campo Fiscal
if (d.nomefiscal.value == ""){
alert("O campo FISCAL deve ser preenchido!");
d.nomefiscal.focus();
return false;
}
//validar campo Proprietario
if (d.proprietario.value == ""){
alert("O campo PROPRIETÁRIO deve ser preenchido!");
d.proprietario.focus();
return false;
}
//validar campo Endereco
if (d.rua.value == ""){
alert("O campo ENDEREÇO deve ser preenchido!");
d.rua.focus();
return false;
}
//validar campo numero(verificacao se contem apenas numeros)
if (isNaN(d.numero.value)){
alert ("O campo NÚMERO deve conter apenas numeros!");
d.numero.focus();
return false;
} //validar campo Bairro
if (d.bairro.value == ""){
alert("O campo BAIRRO deve ser preenchido!");
d.bairro.focus();
return false;
}
//validar campo CEP
if (d.cep.value == ""){
alert("O campo CEP deve ser preenchido!");
d.cep.focus();
return false;
}
//validar campo CEP (verificacao se contem apenas numeros)
if (isNaN(d.cep.value)){
alert ("O campo CEP deve conter apenas numeros!");
d.cep.focus();
return false;
}

}

function isDigit(theDigit)
{
var digitArray = new Array('0','1','2','3','4','5','6','7','8','9'),j;

for (j = 0; j < digitArray.length; j++)
{if (theDigit == digitArray[j])
return true
}
return false

}

function isPositiveInteger(theString)
{
var theData = new String(theString)

if (!isDigit(theData.charAt(0)))
if (!(theData.charAt(0)== '+'))
return false

for (var i = 1; i < theData.length; i++)
if (!isDigit(theData.charAt(i)))
return false
return true
}

function isDate(s,f)
{var a1=s.split("/");
var a2=s.split("-");
var e=true;
if ((a1.length!=3) && (a2.length!=3))
{
e=false;
}
else
{if (a1.length==3)
var na=a1;
if (a2.length==3)
var na=a2;
if (isPositiveInteger(na[0]) && isPositiveInteger(na[1]) && isPositiveInteger(na[2]))
{ if (f==1)
{var d=na[1],m=na[0];
}
else
{var d=na[0],m=na[1];
}
var y=na[2];
if (((e) && (y<1000)||y.length>4))
e=false
if (e)
{
v=new Date(m+"/"+d+"/"+y);
if (v.getMonth()!=m-1)
e=false;
}
}
else
{
e=false;
}
}
return e
}
function checkDate(v,descricao)
{
var s=v.value;
if (!isDate(s,0)&& s != ""){ //dd/mm/yyyy format
alert("O valor informado no campo: " + descricao + " não é uma data válida");
v.focus();
}
return false;
}

</script>

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...