Campo texto no javascript

8 respostas
Kuster_01

Bom, Preciso validar um nome e sobrenome no mesmo campo. Caso seja digitado apenas o primeiro nome, ele não passa e emite a mensagem digite o nome completo. Se for digitado pelo menos duas palavras, então o formulário pode ser enviado.
Consegui o modelo que segue que me deu uma boa idéia de como fazer, no entanto, após várias horas tentando, não cheguei a lugar nenhum.

<script language="javascript" >

        function valida_nome_comente(){
                var padrao = /[a-z]+\s+[a-z]+/gi;
                
                var text = document.getElementById('txt_nome');
                alert(padrao.test(text.value));
        }

</script>

</head>

<body>
<form name="form2" onsubmit=" return valida_nome_comente(this)" method="post" action="">
<table width="309" align="left" class="borda" cellpadding="0" cellspacing="0" border="1">
	<tr>
  	<td><label for="txt_nome">Nome</label></td>

O script acima funciona, porém quando se digita dois nomes ele dá um alerta de true, e quando digita um ele dá um alerta de false.
Como fazer para quando ele dá false eu substituir o alert false por uma mensagem.
E quando da true, simplesmente enviar o formulário.

8 Respostas

drsmachado

Pensa comigo.
Você está mandando o script alertar de acordo com o resultado da verificação. E se você analisar o resultado quando falso e quando verdadeiro em então disparar o alerta se falso?

Kuster_01

drsmachado:
Pensa comigo.
Você está mandando o script alertar de acordo com o resultado da verificação. E se você analisar o resultado quando falso e quando verdadeiro em então disparar o alerta se falso?

O erro então está na linha abaixo?

alert(padrao.test(text.value));

Porque já tentei mudá-la, mas aí está passando sem o alerta.

F

Ok…

usa condições ai pra verificar o retorno do método.

drsmachado

Edit: para não dar a resposta de graça.
Valeu FelipeThi

F

O pior comportamento que pode ser adotado em um fórum como o guj é resolver o problema e postar o código pronto.
Isso torna os usuários mais preguiçosos.
Pergunta, se você está cheio de tarefas no trabalho e seu colega pergunta como se resolve algo, você vai lá e faz para ele? E no fim do mês, ele reparte o salário dele contigo?

recado entendido… se puder editar a resposta… já editei a minha

drsmachado

Kuster_01:
drsmachado:
Pensa comigo.
Você está mandando o script alertar de acordo com o resultado da verificação. E se você analisar o resultado quando falso e quando verdadeiro em então disparar o alerta se falso?

O erro então está na linha abaixo?

alert(padrao.test(text.value));

Porque já tentei mudá-la, mas aí está passando sem o alerta.


Sim, mas você pode condicionar o alerta ao resultado da verificação, não?

F

a sua function padrao.test retorna alguma coisa true ou false

basta você fazer o que quiser dependendo do resultado…

Kuster_01
FelipeThi:
a sua function padrao.test retorna alguma coisa true ou false

basta você fazer o que quiser dependendo do resultado....

Modifiquei dessa forma. Agora quando o campo está vazio ele me dá o alerta corretamente, porém quando digito apenas um nome ele não me dá retorno.
Alguém poderia me dizer se estou no caminho certo. Pois preciso que dê alerta quando o campo estiver vazio ou com apenas uma palavra. Caso seja preenchido nome e sobrenome será enviado.

<script language="javascript" >

        function valida_nome_comente(){
                var padrao = /[a-z]+\s+[a-z]+/gi;
                
                var text = document.getElementById('txt_nome');
				
				(padrao.test(text.value));
				if(text.value==false || text.value==padrao)
				alert("Digite Nome e Sobrenome")
				if(text.value==true)
                //alert("Preenchido Corretamente")
				
		}
		</script>
Criado 10 de setembro de 2012
Ultima resposta 11 de set. de 2012
Respostas 8
Participantes 3