Foros del Web » Programando para Internet » Javascript »

problemas validación

Estas en el tema de problemas validación en el foro de Javascript en Foros del Web. a ver tengo está función de javascript bastante simple para validar un par de campos.. la validación funciona bien peró si dejo las 2 casillas ...
  #1 (permalink)  
Antiguo 18/05/2011, 20:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 4 meses
Puntos: 0
problemas validación

a ver tengo está función de javascript bastante simple para validar un par de campos.. la validación funciona bien peró si dejo las 2 casillas vacias y me muestra error en las 2.. si intento correjir sólo una y darle a submit otra vez me sigue saliendo los 2 errores .. sólo desaparecen cuando corrijo ambas casillas.. yo no veo ningún problema en el código peró claro soy un novatillo de poca monta xD

Código:
function valida()
		{
		errores=0;

				if(!(document.registro.nombre.value.length>=4)&&(document.registro.nombre.value.length<=8))
					{
					document.getElementById("nombre").style.borderColor="red";
					document.getElementById("er_name").innerHTML = (" &nbsp&nbsp Este campo a de tener entre 4 y 8 caracteres");
					errores++;
					if(document.registro.nombre.value.length=="0")
										{
										document.getElementById("nombre").style.borderColor="red";
										document.getElementById("er_name").innerHTML = (" &nbsp&nbsp Este campo no puede estar vacio.");
										errores++;
					}
					}


				if(document.registro.apellidos.value.length=="0")
				{
					document.getElementById("apellidos").style.borderColor="red";
					document.getElementById("er_ape").innerHTML = (" &nbsp&nbsp Este campo no puede estar vacio");
					errores++;
				}
		if(errores!="0")
			{
			return false;
			}

			else
				return true;


		}
  #2 (permalink)  
Antiguo 19/05/2011, 09:12
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: problemas validación

me he dado cuenta que hay otro problema y és que si escribo más de 8 cáracteres en el primer campo me manda el form como si todo estuviera ok...
  #3 (permalink)  
Antiguo 19/05/2011, 09:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: problemas validación

Cita:
if(!(document.registro.nombre.value.length>=4)&&(d ocument.registro.nombre.value.length<=8))
Aqui deberia ser || en vez de && , ya que quiere que sea verdad cuando UNO de los 2 es cierto.
  #4 (permalink)  
Antiguo 19/05/2011, 09:24
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: problemas validación

lo he probado peró sigue sin funcionar. si lo pongo de esa forma sólo me valida el primer campo cuando tiene 9 cáracteres o más.
  #5 (permalink)  
Antiguo 19/05/2011, 10:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: problemas validación

creo que el error está en ahi peró me hago la picha un lio a ver si yo quiero que haga...
si---- x<4 o x>8 error -- este campo a de tener entre 4 y 8 caracteres.. creo.. que asi funcionara..

Cita:
function valida()
{
errores=0;

if((document.registro.nombre.value.length<4)||(doc ument.registro.nombre.value.length>8))
{

document.getElementById("nombre").style.borderColo r="red";
document.getElementById("er_name").innerHTML = (" &nbsp&nbsp Este campo a de tener entre 4 y 8 caracteres");
errores++;
}
if(document.registro.nombre.value=="")
{
document.getElementById("nombre").style.borderColo r="red";
document.getElementById("er_name").innerHTML = (" &nbsp&nbsp Este campo es obligatorio");
}

if(errores!="0")
{
return false;
}

else
return true;
  #6 (permalink)  
Antiguo 19/05/2011, 10:27
 
Fecha de Ingreso: diciembre-2010
Mensajes: 166
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: problemas validación

parece que funciona.. peró sigo teniendo el problema de que si tengo errores en varios campos.. y no los arreglo todos no me desaparecen los mensajes de error de los demás.

Etiquetas: validar
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 19:24.