Foros del Web » Programando para Internet » Javascript »

validar campos vacios

Estas en el tema de validar campos vacios en el foro de Javascript en Foros del Web. Buenas!, Estuve mirando un tema anterior a lo que se refiere los campos vacios, y queria hacer una pregunta al respecto, bueno en 1er lugar ...
  #1 (permalink)  
Antiguo 29/10/2009, 09:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 15 años
Puntos: 0
validar campos vacios

Buenas!,

Estuve mirando un tema anterior a lo que se refiere los campos vacios, y queria hacer una pregunta al respecto, bueno en 1er lugar yo estoy haciendo un pequeño programa en PHP (ya que me estoy iniciando en esto) que valide el ingreso de usuarios mediante formularios de la siguiente manera:

login.php --> aqui es donde ingreso los campos mediante formulario y POST
verificar.php --> es donde verifica los datos enviados mediante POST y luego consultando con la BD redirige a la pagina segun el usuario.

Ejm: si es admin, a la pagina del administrador
si es cliente, a una pagina para cliente

Esto ya lo logre, aunq tengo algunos pendientes, pero la pregunta es la siguiente:

Dicen que al momento de pasar a la otra pagina (en mi caso supongo que desde index.php hacia principal.php x ejm para el admin) se debe colocar el codigo javascript de validacion para campos vacios, mi duda es precisamente en donde coloco dicho script, lo que yo quiero validar son los campos de user y pass en mi index.php para que no queden vacios, es decir lo coloco en index.php o verificar.php ???

Jeje bueno mi fin es poder darle una buena validacion y seguridad a mi pequeño programa, de paso que voy aprendiendo

Gracias de antemano!
  #2 (permalink)  
Antiguo 29/10/2009, 09:54
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: validar campos vacios

A mi entender, debes ponerlo en tu index.php. Básicamente se pone donde tengas el formulario, y lo validas al pulsar el botón que haga la función de submit. De este modo, hasta que el usuario no introduzca algo válido no podrá pasar a la siguiente página.

Espero haberte aclarado la duda.
  #3 (permalink)  
Antiguo 29/10/2009, 10:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 15 años
Puntos: 0
Respuesta: validar campos vacios

Si gracias Didi-chan, estaba pensando en lo mismo mientras hacia algunas pruebas, ahora el detalle es el siguiente, el codigo enviado y el cual utilice es el sgt:

function valida(){
if (ValidaForm()== true){
document.frm.submit();
}
}

function ValidaForm(){
if (Trim(document.form.user.value)==''){
alert('Debe ingresar nombre de usuario.');
document.frm.user.value='';
document.frm.user.focus();
return false;
}

//y preguntar por todos tus campos del form...
if (Trim(document.frm.pass.value)==''){
alert('Debe ingresar contraseña de usuario.');
document.frm.pass.value='';
document.frm.pass.focus();
return false;
}

return true;
}


Mi duda es ahora, para que sirve exactamente esta linea de codigo: 'document.frm.submit();' y no se si haga conflicto con el nombre del form que uso porque es el sgt:

<form name="frm" id="frm" method="post" action="verificar.php">
.... codigo.....
<input type="submit" name="ingresar" value="Ingresar" onclick="valida();"/>
</form>

Lo digo porque estoy usando el codigo proporcionado, pero no me funciona, es decir, pasa directamente a la validacion de usuario asi haya dejado el campo vacio, alguien que me pueda ayudar??? Le agradezco a los que me puedan proporcionar la ayuda para poder solucionar mi problema, saludos!
  #4 (permalink)  
Antiguo 29/10/2009, 10:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: validar campos vacios

Esa linea que preguntas, sirve para enviar el formulario.

Bueno si te fijas en el primer if tienes puesto document.form en vez de document.frm. De todas formas. Yo creo que no se te mete en la función porque le estás haciendo un onClick al submit. Prueba en vez del input type="submit" un botón de la siguiente manera:

<input type="button" name="ingresar" value="Ingresar" onclick="valida();"/>

o sino, llama a la función valida() desde un onSubmit en la etiqueta form.
  #5 (permalink)  
Antiguo 29/10/2009, 10:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 15 años
Puntos: 0
Respuesta: validar campos vacios

Buen detalle, justamente estuve tratando de cambiar el nombre del form de frm a form por siacaso tratar de evitar la confusion, lo cambie (a form) y adite las partes necesarias, respecto de colocar un input del tipo boton, lo intente al principio cuando recien hacia mi codigo, si lo recuerdo bien, al poner tipo boton no pasaba a la verificacion (la sgt pagina) y cambie a submit y recien ahi funciono, asi que con submit hice tmb lo que me dijiste, colocar en la etiqueta form onsubmit="validar();" pero aun asi no entra a la funcion, me parece raro porque al apretar el boton asi el campo este vacio, lo pasa, la vdd no se que estoy confundiendo en codigo... gracias por la ayuda, seguire probando, espero me puedan dar la solucion tambien
  #6 (permalink)  
Antiguo 29/10/2009, 10:37
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: validar campos vacios

Pon el código entero que lo veamos, con formulario incluido, es que así de palabra es más dificil todo.
  #7 (permalink)  
Antiguo 29/10/2009, 10:45
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 15 años
Puntos: 0
Respuesta: validar campos vacios

Este es el codigo:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login User</title>

<script>
function valida(){
if (ValidaForm()== true){
document.frm.submit(); //envia el formulario a la pagina destino
}
}

function ValidaForm(){
if (trim(document.form.user.value)==''){
alert('Debe ingresar nombre de usuario.');
document.form.user.value='';
document.form.user.focus();
return false;
}

//y preguntar por todos tus campos del form...
if (trim(document.form.pass.value)==''){
alert('Debe ingresar contraseña de usuario.');
document.form.pass.value='';
document.form.pass.focus();
return false;
}

return true;
}
</script>

</head>

<body>

<form name="form" id="form" method="post" action="verificar.php" onsubmit="valida()">
<table width="40%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td colspan="2" align="center"><b>Login User</b></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="right" width="30%">Usuario&nbsp;&nbsp;</td>
<td><input type="text" name="user" id="user" class="text" size="40" value="<?=$usuario;?>" maxlength="20" /></td>
</tr>
<tr>
<td align="right">Password&nbsp;&nbsp;</td>
<td><input type="password" name="pass" id="pass" size="20" maxlength="15"/></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" name="ingresar" value="Ingresar" />
</td>
</tr>
</table>
</form>

</body>
</html>


Bueno espero puedas ver la equivocacion que pueda tener, ahh y una consulta adicional con respecto a este problema tambien... en vez de utilizar la funcion con el submit, no seria mas eficiente (eso pensaria yo) que al cambiar de campo, ya sea de user hacia pass, me diga que he dejado el campo vacio, es decir, estoy en el campo user, pero de casualidad apreto TAB y salto a pass, y cuando se de este caso, me diga que no debo dejar el campo vacio.... no seria mejor el caso? bueno yo creo que seria mas efectivo... y si puedo utilizar este codigo d esa manera... gracias x la ayuda!!
  #8 (permalink)  
Antiguo 29/10/2009, 11:02
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: validar campos vacios

Bueno si lo veo. Lo primero es que trim() no existe para javascript. Despues que no has puesto return en el onsubmit, por lo tanto se te mete en la función pero no se para en caso de que haya fallado.
La función valida() te sobra, porque solo la usas para hacer el submit del formulario. Eso solo tienes que usarlo si no has pulsado un type="submit", por ejemplo si hubieras usado un input type="button". He probado esto y funciona, pruebalo tu también, solo tiene esos cambios que te he dicho:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Login User</title>

<script>


function ValidaForm(){
if (document.form.user.value==''){
alert('Debe ingresar nombre de usuario.');
document.form.user.value='';
document.form.user.focus();
return false;
}else if (document.form.pass.value==''){
alert('Debe ingresar contraseña de usuario.');
document.form.pass.value='';
document.form.pass.focus();
return false;
}else{

return true;
}
}
</script>

</head>

<body>

<form name="form" id="form" method="post" action="verificar.php" onsubmit="return(ValidaForm());">
<table width="40%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td colspan="2" align="center"><b>Login User</b></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="right" width="30%">Usuario&nbsp;&nbsp;</td>
<td><input type="text" name="user" id="user" class="text" size="40" value="<?=$usuario;?>" maxlength="20" /></td>
</tr>
<tr>
<td align="right">Password&nbsp;&nbsp;</td>
<td><input type="password" name="pass" id="pass" size="20" maxlength="15"/></td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" name="ingresar" value="Ingresar" />
</td>
</tr>
</table>
</form>

</body>
</html>

Se me olvidaba, eso que me dices supongo que si es posible, pero nunca lo he hecho. Pero bueno, solo tendrías que plantearte en que momento quieres que se compruebe y entonces ya pues te planteas si usar un evento de raton o de teclas o lo que sea. Es solo poner el evento y llamar a la función en el momento. Pero vamos es solo una idea, ya te digo que nunca lo he hecho.
  #9 (permalink)  
Antiguo 29/10/2009, 11:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 15 años
Puntos: 0
Respuesta: validar campos vacios

gracias esta vez si me funciono, gracias por la ayuda 'Didi-chan', como recien comienzo con esto de PHP y los scripts se me hace un pokito fastidioso, pero siempre las experiencias quedan, ahora si estoy mejorando un poco mi pekeño programa.

Reitero los agradecimiento!
  #10 (permalink)  
Antiguo 29/10/2009, 11:21
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: validar campos vacios

No hay de que para eso estamos .Javascript se aprende así, comiendote la cabeza hasta que te das cuenta de los fallos. Si lo sabré yo...jaja
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:26.