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

Validação De Campos


ar_ctjd

Pergunta

Fala Galera...

Tenho um pouco de conhecimento em ASP, mas infelizmente não tenho dominio sobre Java Script. Pode parecer coisa simples pra vocês que conhecem a linguagem.

Preciso fazer validação de campo de entrada em meus formulários...

Gostaria que se alguém pudesse, me explicasse como fazer para que um campo recebesse apenas numeros.

Ou como fazer para que quando um usuário digite dois digitos o focus vá para o róximo campo, essas coisas simples....

Ficarei agradecido se alguém puder me ajudar...

Link para o comentário
Compartilhar em outros sites

22 respostass a esta questão

Posts Recomendados

  • 0

Já tenho isso pronto num arquivo, pois é muito útil:

<!------------- Begin
// -----------------------------------------------------------------
// Funcao    : IsIntegerValid
// Linguagem   : JavaScript
// Descricao   : Verifica se o número é inteiro
// Copyright   : (c) 2000 ADF Consulting - Silvio N Hirashiki
// http://www.adfcon.com.br
// Para usar este script legalmente, mantenha este cabecalho  
// -----------------------------------------------------------------
// Ver    Data    Descricao da alteracao
// --- ---------- --------------------------------------------------
// 1.0 2000/04/27 Original 
// 1.0 2003/29/08 Exibir Caption do campo quando der erro (Leandro Ramos)
//
// -----------------------------------------------------------------
function IsIntegerValid(FormName, ElemName, ElemCaption) {

	var CharValido;
	var NumValido   = "0123456789";

	var ok = "sim";
	var ParteString;
	var Mensagem;
	var CampoTeste = document.forms[FormName].elements[ElemName];
	var CampoSemBrancos;

	CharValido = NumValido
	//Monta campo sem brancos
	CampoSemBrancos = "";
	for (var i=0; i < CampoTeste.value.length; i++) {
  if (CampoTeste.value.substring(i, i+1) != ' ') {
  CampoSemBrancos = CampoSemBrancos + CampoTeste.value.substring(i, i+1);
  }
	}

	//Se campo estiver vazio
	if (CampoSemBrancos == '')     {  
  Mensagem = 'Por favor, preencha o campo ' + ElemCaption 
      alert(Mensagem)
      CampoTeste.focus()
  //CampoTeste.select();
  return false;
   }
	//Se estiver preenchido, testar os caracteres
	ParteString = "";


	for (var i=0; i < CampoTeste.value.length; i++) {
  ParteString = "" + CampoTeste.value.substring(i, i+1);
  if (CharValido.indexOf(ParteString) == "-1") {
  	ok = "não";
  }
	}

	if (ok == "não") {
  alert('Caracteres inválidos! Preencha o campo ' + ElemCaption + ' apenas com números');
  CampoTeste.focus();
  CampoTeste.select();
  return false;
   }
	return true;
}
//  End -->
Chame a função acima mais ou menos assim: IsIntegerValid(nomeDoForm, nomeDoElemento, descricaoDoElemento)
// -----------------------------------------------------------------
// Function    : autoTab
// Language    : JavaScript
// Description : auto tabulação de campos
// -----------------------------------------------------------------
function autoTab(input, len) {
	if(input.value.length >= len) {
  input.value = input.value.slice(0, len);
  input.form[(getIndex(input)+1) % input.form.length].focus();
	}

	function getIndex(input) {
  var index = -1, i = 0, found = false;
  while (i < input.form.length && index == -1)
  	if (input.form[i] == input) index = i;
    else i++;
  return index;
	}
return true;
}

Chame a função acima assim: autoTab(nomeDoElemento, numeroDeCaracteresPermitidos).

Link para o comentário
Compartilhar em outros sites

  • 0

A função "IsIntegerValid" verifica se o número fornecido é um inteiro válido. Ele primeiro verifica se o campo está preenchido ou não, e depois, verifica é se um número.

- O terceiro parâmetro (ElemCaption) é utilizado para mostrar a mensagem de erro, caso o campo não tenha passado pelo teste. Por exemplo, se você chamar a função assim: "IsIntegerValid('form1', 'text1', 'Endereço')", uma das mensagens de erro será "Por favor, preencha o campo Endereço".

A função "autoTab" dá o foco no próximo campo do seu formulário quando o usuário preenche X caracteres no campo que você está chamando a função. Este número X é o segundo parâmetro da função (len).

- Você deve chamar esta função no "onkeydown" do campo. Algo assim:

<input type="text" name="txt1" id="txt1" onkeydown="javascript:autoTab(this, 2);" />

Neste caso, o próximo campo receberá foco quando o txt1 atingir 2 caracteres. smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Primeiro eu tentei usar esse autotab, que parece ser mais simples, mas não funcionou....

Eu chamei a função assim:

<input name="ano" type="text" class="input-c" maxlength="4" onchange="javascript:autoTab(this, 4);" />

você sabe o que está errado?

Link para o comentário
Compartilhar em outros sites

  • 0

Legal, valeu funcionou, so tem um problema, tipo se eu precisar corrigir o numero ele não permite, quando aperto o próximo numero ele manda pro proximo campo de novo.

Acho que preciso criar uma função para que quando um campo receber o focus ele ser limpo né?

Link para o comentário
Compartilhar em outros sites

  • 0

Não, sei, porque se o usuário precisar corrigir o valor editado, ele não consegue, acho que não tem nada a perder....

Como crio um função para limpar o campo?

Link para o comentário
Compartilhar em outros sites

  • 0

Tipo ainda não resolveu....

Tipo não consegui abrir a função...

Coloquei o seguinte no input:

<input name="ano" type="text" class="input-c" maxlength="4" onFocus="javascript:limpa();" onkeydown="javascript:autoTab(this, 4);" />

A função limpa é essa:

function limpa()

{

idocument.busca3.ano.value = "";

}

o que será que está errado?

Link para o comentário
Compartilhar em outros sites

  • 0

Nossa, to confundinfo com ASP (IFRAME), desculpa, nossa já to enchendo o saco que você nem tem...kkk

Bom valeu Fabi brigadão...

Vou testar...se der zica eu posto de novo...

Valeu...

Link para o comentário
Compartilhar em outros sites

  • 0

beleza valeu...

Bom agora eu vou almoçar...

Depois a tarde vou precisar fazer aquele esquema de que o campo só tenha numeros e tal...

Aí qualquer duvida eu escrevo nesse POST mesmo beleza?

você responde?

Link para o comentário
Compartilhar em outros sites

  • 0

Então Fabi, só tem um problema, esse código faz o seguinte...

Quando o usuário digita 4 teclas, ele não muda, quando o usuário digita a quinta ele muda e coloca o quinto elemento no próximo campo.

você sabe como resolver isso?

Link para o comentário
Compartilhar em outros sites

  • 0

beleza...deu certo...

Ainda bem...

Valeu pela ajuda Fabi...

Vou utilizar um pouco essa função depois testo a outra...

Quando tiver problemas com a outra eu posto aqui pra ver se você pode me ajudar Ok?

Vixi hj eu tá te aluguei de mais...você já deve estar ficando até com raiva...

KKK...

Link para o comentário
Compartilhar em outros sites

  • 0

Vixi chegou a hora de usar a função pra verificar se os caracteres de um campo são todos numeros, bom vou precisar de ajuda com certeza...

Vixi, já to te amolando....daqui a pouco você vai querer me dar uma bica no saco...de tanta raiva, de tanto que eu já enchi o seu hj...desculpa tá, mas é que é coisa de trabalho, e realmente precisa ser feito...

Bom espero sua ajuda...

você tem MSN?

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...