[Resolvido] Impedir o envio de campos em Branco

Boas pessoal.
Eu tenho um pequeno site que ao inserir o username gera um código com entidade e referencia para essa mesma pessoa, mas o que é que esta acontecer é que ao carregar em submit com o campo do username em branco ele envia na mesma.

O que eu queria saber é se existe alguma opção que impeça que aquele input não possa ser enviado em branco, isto sem valor.

Alguém sabe como se faz?


CumpZ
 
Última edição:
Javascript.

Exemplo:

Código:
function validate_required(field, alerttxt)
{
 with (field)
 {
  if (value == null || value == "")
  {
   alert(alerttxt);
   return false;
  }
  else
  {
   return true
  }
 }
}
 
 
function validate_login(thisform)
{
 with (thisform)
 {
  if (validate_required(username, "Por favor preencha o seu nome de utilizador") == false)
  {
   username.focus();
   return false;
  }
  else if (validate_required(password, "Por favor preencha a sua password") == false)
  {
   password.focus();
   return false;
  }
 }
}
validation.js

Código:
<form action="login.php [B]onsubmit="return validate_login(this)[/B]" method="post" >";
     <label title="Username">Utilizador: <input tabindex="1" accesskey="u" name="username" type="text" maxlength="20" id="username" /></label><br />
     <br />
     <label title="Password">Password: <input tabindex="2" accesskey="p" name="password" type="password" maxlength="10" id="password" /></label><br />
     <br />
     <label title="Submit"><input tabindex="3" accesskey="l" type="submit" name="submit" value="Login" /></label>
     </form>
login.php
 
Javascript.

Exemplo:

Código:
function validate_required(field, alerttxt)
{
 with (field)
 {
  if (value == null || value == "")
  {
   alert(alerttxt);
   return false;
  }
  else
  {
   return true
  }
 }
}
 
 
function validate_login(thisform)
{
 with (thisform)
 {
  if (validate_required(username, "Por favor preencha o seu nome de utilizador") == false)
  {
   username.focus();
   return false;
  }
  else if (validate_required(password, "Por favor preencha a sua password") == false)
  {
   password.focus();
   return false;
  }
 }
}
validation.js

Código:
<form action="login.php [B]onsubmit="return validate_login(this)[/B]" method="post" >";
     <label title="Username">Utilizador: <input tabindex="1" accesskey="u" name="username" type="text" maxlength="20" id="username" /></label><br />
     <br />
     <label title="Password">Password: <input tabindex="2" accesskey="p" name="password" type="password" maxlength="10" id="password" /></label><br />
     <br />
     <label title="Submit"><input tabindex="3" accesskey="l" type="submit" name="submit" value="Login" /></label>
     </form>
login.php


Com este codigo dá o seguinte erro:

Not Found

The requested URL /index4.php onsubmit= was not found on this server.
 
Desculpem os posts seguidos mas ninguém me pode ajudar?

o input em questão é um simples "text", alguem sabe como fazer para que quando esse input vai vazia mandar uma mensagem em vez de gerar o codigo ?

Fiz o site todo, mas não posso entregar sem resolver este pormenor :005:
 
podes re-formular a tua questão num post novo ?

é que acho que já li a tua resposta algures em cima :p




Que possui inputs, e ao inserir um texto qualquer gera um código.
Mas o problema é se não se inserir nada, isto é, fazer enviar com o input em branco ele gera o código.

Eu gostava de não ser possível enviar o input em branco, isto é ser como naqueles formulários onde somos obrigados a preencher o campo.

O Problema é que não sei mesmo como fazê-lo :(

Percebes-te a minha dúvida?

A ideia é simples é se o input estiver vazio ele envia uma mensagem a dizer, deve preencher o campo.
 
Última edição:
Não vou responder a tudo que tou meio torrado mas vou deixar algumas sugestões:

1. o google é teu amigo
2. se queres fazer do lado do cliente usa javascript como já te exemplificaram em cima
3. se queres fazer do lado do servidor tens de verificar no teu código php se o campo está vazio ou não e redireccionar para a página certa conforme.

gl
 
Parece-me que estás a stressar... isso é o pior que pode acontecer a um programador.

Código:
<?php
$texto = $_GET['texto'];
if ( $texto ) {
    echo 'A processar...';
} else {
    echo 'Texto não preenchido!';
}
?>
Por outro lado, olhando para o código que colaste, posso inferir que não percebes nada de PHP e estás a fazer uma aplicação por copy&paste. Se isto é verdade, o resultado não vai ser bom... não vai não...
 
Parece-me que estás a stressar... isso é o pior que pode acontecer a um programador.

Código:
<?php
$texto = $_GET['texto'];
if ( $texto ) {
    echo 'A processar...';
} else {
    echo 'Texto não preenchido!';
}
?>
Por outro lado, olhando para o código que colaste, posso inferir que não percebes nada de PHP e estás a fazer uma aplicação por copy&paste. Se isto é verdade, o resultado não vai ser bom... não vai não...


Stressar? Servidor?

Eu acho é que não me consegui expressar devidamente.

O que é inserido no input é um simples "text" que não vai ligar a base de dados nenhuma !!

È um texto comum que ao enviar vai aparecer no campo username: seguido da entidade e referencia.

Este username não está em nenhuma base dados é simplesmente um "text" inserido pelo utilizador e que depois aparece no post no mesmo index juntamente com a entidade e referencia.



O que eu estava a tentar implementar era que esse input não fosse enviado em branco. Mas ainda não consegui, nem com os exemplos dados.

Ideia como já referi é simples, mas não consigo passa-la para o código :005:

Espero ter esclarecido dúvidas e espero que alguém tenha a bondade de ajudar este pobre coitado :)
 
Aqui está:

Javascript.

Exemplo:

Código:
function validate_required(field, alerttxt)
{
 with (field)
 {
  if (value == null || value == "")
  {
   alert(alerttxt);
   return false;
  }
  else
  {
   return true
  }
 }
}
 
 
function validate_login(thisform)
{
 with (thisform)
 {
  if (validate_required(username, "Por favor preencha o seu nome de utilizador") == false)
  {
   username.focus();
   return false;
  }
  else if (validate_required(password, "Por favor preencha a sua password") == false)
  {
   password.focus();
   return false;
  }
 }
}
validation.js

Código:
<form action="login.php [B]onsubmit="return validate_login(this)[/B]" method="post" >";
     <label title="Username">Utilizador: <input tabindex="1" accesskey="u" name="username" type="text" maxlength="20" id="username" /></label><br />
     <br />
     <label title="Password">Password: <input tabindex="2" accesskey="p" name="password" type="password" maxlength="10" id="password" /></label><br />
     <br />
     <label title="Submit"><input tabindex="3" accesskey="l" type="submit" name="submit" value="Login" /></label>
     </form>
login.php
 
Se fosse uma situação login > username / password.

Era perfeito esse código.
Mas já testei esse código e não faz o output da mensagem sem verificar a existência de um certo username / password da base de dados..

Mas como já disse, o texto inserido não está em nenhuma base dados e não é para ser guardado.
Apenas é inserido e aparece no post do index.php no campo username.
 
hostmake, só estás a validar do lado do cliente ( é o 'lado' menos importante' ;-) )

The Lavigne:
Este username não está em nenhuma base dados é simplesmente um "text" inserido pelo utilizador e que depois aparece no post no mesmo index juntamente com a entidade e referencia.
Mas quem é que falou em base de dados sem contar contigo?
 
hostmake, só estás a validar do lado do cliente ( é o 'lado' menos importante' ;-) )/QUOTE]


Porquê ?
A não ser que estejas a espera que alguém vá tentar passar informação sem validar os campos, removendo a validação de JS.. para tentar descobrir algo que não é suposto, mas mesmo que façam isso, qualquer código decente é tratado depois.

Eu valido por AJAX e com PHP, mas para o que ele quer está mais que servido já, não sei que ainda está aqui a fazer tbh.

Normalmente para um site ter login é preciso uma base dados.. digo eu que não percebo nada disto -.-'


Nem por isso.
 
Última edição pelo moderador:
Back
Topo