• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

skcratch

[Ajuda] - Validar Formulário

15 mensagens neste tópico

Viva!

Neste momento, tenho o seguinte formulário e respectivo código JavaScript de validação:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>YourVideos</title>
<script language="javascript" type="text/javascript">
function validateUsername(username, usernameEmpty) 
{
	 if(username.value = '')
	 {
	 	usernameEmpty.innerHTML = "Vazio";
	 	return false;
	 }

	 return true;
}
</script>
</head>

<body>

<form action="" method="post" onsubmit="return validateUsername(username, usernameEmpty);">
Username:<input type="text" id="username" /><label id="usernameEmpty"></label>
<br	/>
Password:<input type="password" id="password" /><label id="passwordEmpty"></label>
<br />
<input type="reset" value="Clear" />
<input type="submit" value="Submit" />
</form>

</body>

</html>

A minha ideia, era que uma mensagem de erro fosse impressa junto à TextBox Username, na label usernameEmpty caso esta não fosse preenchida mas a validação não está a ser realizada.

Será que alguém pode dar uma ajuda?

Cumps!

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Faz:

        function validateUsername(username, usernameEmpty)
        {
                 if(username.value = '')
                 {
                        getElementById("usernameEmpty").value = "Vazio";
                        return false;
                 }
                 
                 return true;
        }

Acho que não me enganei a escrever.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Neste momento, tenho o seguinte código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>YourVideos</title>
<script language="javascript" type="text/javascript">
function validateUsername(username, usernameEmpty) 
{
	 if(getElementById("username").value = '')
	 {
	 	getElementById("usernameEmpty").value = "Vazio";
	 	return false;
	 }

	 return true;
}
</script>
</head>

<body>

<form action="" method="post" onsubmit="return validateUsername(username, usernameEmpty);">
Username:<input type="text" id="username" /><label id="usernameEmpty"></label>
<br	/>
Password:<input type="password" id="password" /><label id="passwordEmpty"></label>
<br />
<input type="reset" value="Clear" />
<input type="submit" value="Submit" />
</form>

</body>

</html>

No entanto, continua sem funcionar. Será que alguém podia dar uma ajuda?

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Adiciona isto (só para testes, depois deves tirar).

<script type='text/javascript' 
        src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>

E diz se na console, dá algum erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Retorna o seguinte erro:

validateUsername is not defined

Grato pela ajuda,

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

if( getElementById("username").value = '' )

Aí tá um erro, para comparar tens q usar ==

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Obrigado pela ajuda, erro corrigido. No entanto, o erro anterior mantém-se.

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não tens de usar document.getElementById(...) ?!

já agora, na consola de erros do firefox que mensagem de erro te aparece?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

O erro que aparece na consola do Firebug é o seguinte:

validateUsername is not defined

Quanto à outra pergunta, não sei responder.

Grato desde já pela ajuda,

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já ouvi dizer que o onsubmit n é de fiar... tenta em vez de usares isso

no botao de submit meter um onclick="validateUsername(argumentos)"

por esse erro o gajo n está a ir buscar a função... mas não estou a perceber bem o que queres fazer lol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A verdade é que às vezes chamo funções através de eventos, ele dá-me esse erro, e nunca chego a perceber qual é o verdadeiro erro. Enfim...

PS: Que browser estás a usar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Estou a usar o Firefox. Aquilo que pretendo, é que caso o campo Username esteja vazio, seja apresentada uma mensagem de erro em frente do mesmo.

Grato desde já pela ajuda,

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

O problema persiste. Mais alguma sugestão?

Grato desde já pela ajuda,

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Depois de consultar alguns sites e ver alguns exemplos, decidi usar jQuery para validar os formulários da minha aplicação. Pelo que vi/li, o uso de este biblioteca vai permitir uma melhor organização e estruturação do código da aplicação. Outras vantagens, tem a ver com as funções de validação já existentes bem como a facilidade aparente de serem adicionadas novas funções que melhor se adaptem a cada caso de utilização específico. Assim que tiver um exemplo implementado e testado, eu coloco aqui no fórum, não só para poder ajudar outros utilizadores, como também para ouvir as vossas opiniões.

Grato desde já pela ajuda!

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora