Jump to content


Photo

Validação


  • Faça o login para participar
3 replies to this topic

#1 studiovr

studiovr

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 01/04/2004, 17:23

Amigos,
Tenho o JS abaixo que valida meu formulário. O detalhe é que se não preencher os campos dentro do form ele avisa, mas se teclar espaço nops campos ele trata como se fosse um caracter... Alguém pode me ajudar a arrumar esse detalhe?
Valeus...


<script language="javascript">
<!--
function verify(form)
{
for(var intCtr = 0; intCtr <= (form.elements.length - 3); ++intCtr)
{
var temp = form.elements[intCtr];
if(temp.type == "text" && temp.value == "")
{
alert("Por favor preencha todos os campos solicitados");
temp.focus();
return false;
}
}
return true;
}
//-->
</script>

<form method="POST" name="theform" action="vai.asp" onSubmit="return verify(this)">
<input type="text" name="SeuNome" size="30">
<input type="text" name="Email" size="30">
<input type="text" name="Telefone" size="30">
<input type="submit" name="Submit" value="Enviar">
</form>

#2 Lengrat

Lengrat

    Mestre

  • Usuários
  • 638 posts
  • Sexo:Não informado

Posted 01/04/2004, 20:10

No seu Código vc não pode colocar == "" pq um Espaço não eh Vazio, e sim um caracter de espaço. Por isso que seu código passa na hora da validação quando vc posta um espaço.

Voce tem que testar se a propriedade legth do campo eh igual a Zero.

Testa isso aqui. É um código mais simples


<script LANGUAGE='JavaScript'>

  function valida() 
    {
    var vseunome, vemail, vtelefone;

    vseunome = document.theform.seunome.value; 
    if(vseunome.length==0)
      {
      alert("Favor informar Nome");
      return false;
    }
    
    vemail = document.theform.email.value;
    if(vemail.length==0)
      {
      alert("Favor informar E-mail");
   return false;
    }

   vtelefone = document.theform.email.value;
    if(vtelefone.length==0)
      {
      alert("Favor informar Telefone");
   return false;
    }
     return true;
    }
</script>

No Form vc define:

<form method="POST" name="theform" action="vai.asp" onSubmit="valida">

Se vc usar VB na hora de Validar,
Existe a função TRIM que é muito útil. ela elimina todos os epaços vazios Direita e à esquerda.


Agora , no seu código eu nao testei a mudança...
Mas experimente trocar

if(temp.type == "text" && temp.value == "")

Por

if(temp.type == "text" && temp.length==0)

que deverá funcionar
:P

Edição feita por: Lengrat, 01/04/2004, 20:26.


#3 studiovr

studiovr

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 01/04/2004, 22:14

Deu certo!!!
Muito obrigado pela sua ajuda!!!

#4 Without a Nick

Without a Nick

    Sem culpa no cartório

  • Usuários
  • 2378 posts
  • Sexo:Não informado
  • Localidade:Guarulhos

Posted 02/04/2004, 13:21

Outro modo também é:

<script language="javascript">
<!--
function valida() {
var nome=document.forms['cadastro'].elements['nome'].value;
if (nome.indexOf(" ") != -1) {
  window.alert("Caractere não aceito.");
  return false;
}
return true;
document.forms['cadastro'].submit();
}
//-->
</script>


Você cria o formulário e o input e coloca o return valida() no onsubmit da tag <form>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq