Foros del Web » Programando para Internet » Javascript »

Validar formuario con respecto a este tema

Estas en el tema de Validar formuario con respecto a este tema en el foro de Javascript en Foros del Web. Hola, he utilizado el script de este tema y lo he modificado para utilizarlo a mi gusto: Tema: http://www.forosdelweb.com/f13/validar-form-con-javascript-537500/ Código HTML: <script type= "text/javascript" > ...
  #1 (permalink)  
Antiguo 17/07/2010, 21:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 151
Antigüedad: 14 años, 1 mes
Puntos: 0
Validar formuario con respecto a este tema

Hola, he utilizado el script de este tema y lo he modificado para utilizarlo a mi gusto:
Tema:
http://www.forosdelweb.com/f13/validar-form-con-javascript-537500/
Código HTML:
<script type="text/javascript">
function validar(form) {

  var nickcheck=form.nick.value.length > 3;
  var csncheck=form.contrasena.value != "";
  var csn2check=form.contrasena2.value != csncheck ;
  var correocheck = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})$/.test(form.correo.value);
  //Este es la validación del Nick SI FUNCIONA
  document.getElementById('error_nick').style.visibility=(nickcheck) ? 'hidden':'visible';
  document.getElementById('nick').style.borderColor=(nickcheck) ? 'black':'red';
  document.getElementById('nick').style.color=(nickcheck) ? 'black':'red';
  //Esta e sla validación de la contraeña 1 SI FUNCIONA
  document.getElementById('error_csn').style.visibility=(csncheck) ? 'hidden':'visible';
  document.getElementById('contrasena').style.borderColor=(csncheck) ? 'black':'red';
  document.getElementById('contrasena').style.color=(csncheck) ? 'black':'red'; 
  //Esta es la validación del reingreso de contraseña NO FUNCIONA
  document.getElementById('error_csn2').style.visibility=(csn2check) ? 'hidden':'visible';
  document.getElementById('contrasena2').style.borderColor=(csn2check) ? 'black':'red';
  document.getElementById('contrasena2').style.color=(csn2check) ? 'black':'red';
  //Validación de correo SI FUNCIONA
  document.getElementById('error_correo').style.visibility=(correocheck) ? 'hidden':'visible';
  document.getElementById('correo').style.borderColor=(correocheck) ? 'black':'red';
  document.getElementById('correo').style.color=(correocheck) ? 'black':'red';
    
  return  (nickcheck && csncheck && csn2check && correocheck);
}
</script> 
El error está en que quiero verificar que el campo 1 de contraseña no sea vacío
Y verificar que el campo de contraseña 2 sea igual al primero de contraseña (el clásico:reingresa contraseña) Bueno, quiero lograr esto pero MEDIANTE ESTE MÉTODO...y claro, si se puede que el usaurio no pueda ingresar espacios en la contraseña. Un saludo, gracias.

Última edición por Geze; 17/07/2010 a las 21:29
  #2 (permalink)  
Antiguo 18/07/2010, 04:01
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar formuario con respecto a este tema

Esque ese códgo está mal, porque csn2check comprueba si las dos son iguales, y si no lo son, devuelve true, cuando debería ser al revés. Esto puedes cambiarlo de dos maneras, sustituyendo != por ==, o en el return poner !csn2check. Por otro lado, para comprobar que no hay sólo espacios en blanco se puede (y se debe) hacer con expresiones regulares, pero yo de eso no sé así que mi propuesta es usar un método menos ortodoxo:

Código Javascript:
Ver original
  1. var noEspacioscheck = form.contrasena.value.toUpperCase() != form.contrasena.value.toLowerCase();

El único inconveniente que tiene es que de esta manera se debe ingresar al menos una letra, y por tanto no podrían ser sólo números.
Saludos (:
  #3 (permalink)  
Antiguo 18/07/2010, 14:13
 
Fecha de Ingreso: marzo-2010
Mensajes: 151
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Validar formuario con respecto a este tema

Gracias por la ayuda, compañero!
Lo de los espacios está interesante tu código, pero lo malo es lo que ya mencionaste que tampoco permite números al inicio :S Bueno, aunque, ¿no hay comouna especia de TRIM() para javascript? Si sabes de algo avísme y si me puedes echar la mano en cómo implemetarlo: mejor qué mejor.

Gracias por la respuesta y que viva Mago de Oz
  #4 (permalink)  
Antiguo 18/07/2010, 16:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Validar formuario con respecto a este tema

Hola

La expresión regular para hacer LTrim y RTrim y que no haya espacios entre palabras es /\s/g

Suerte

<offtopic>Mago de Oz SINKOPE, EXTREMODURO, LA FUGA, etc ... De buen rollo @_cronos2 </offtopic>
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 18/07/2010, 16:54
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Validar formuario con respecto a este tema

<offtopic>Jajajajaja esos!!! Iron Maiden, Black Sabbath, Ozzy Osbourne, Guns n' Roses, Led Zeppelin... (L) </offtopic>

Etiquetas: tema
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 04:47.