Foros del Web » Programando para Internet » Javascript »

validación formulario en JS

Estas en el tema de validación formulario en JS en el foro de Javascript en Foros del Web. Hola buenas!! a ver si me podéis ayudar... Os explico: he creado un formulario en el cual he de validar sus campos con JavaScript. En ...
  #1 (permalink)  
Antiguo 05/06/2007, 09:33
 
Fecha de Ingreso: junio-2007
Mensajes: 1
Antigüedad: 16 años, 11 meses
Puntos: 0
validación formulario en JS

Hola buenas!! a ver si me podéis ayudar... Os explico:

he creado un formulario en el cual he de validar sus campos con JavaScript. En TODOS estos campos sólo quiero comprobar que se introduce un numero (entero y positivo, para ser más exactos). Lo he conseguido hacer y funciona bien, el problema está en que en mi opinión el código que he creado es un poco... cutre o chapucero (pero funcionar ya he dicho que funciona). El código es el siguiente:

Código:
function valUsers(form)
{
    var er_numero = /(^([0-9]{0,3})|^)$/	//número de máximo 3 digitos o cadena vacia
    
    if(!er_numero.test(form.userA.value)) { 
	alert('Contenido del campo "Usuarios A" no válido.')
	return (false);
    }
    
    if(!er_numero.test(form.userB.value)) { 
	     alert('Contenido del campo "Usuarios B" no válido.')
	     return (false);
    }

    if(!er_numero.test(form.userC.value)) { 
	     alert('Contenido del campo "Usuarios C" no válido.')
	     return (false);
    }    

    if(!er_numero.test(form.userD.value)) { 
	alert('Contenido del campo "Usuarios D" no válido.')
	return (false);
    }
}
Como he dicho esto funciona. Pero como podéis ver se hace la misma comprobación 4 veces. Y en realidad son más de 4 porque aquí he reducido el código. Entonces a mi se me ha ocurrido crear una cadena, introducir todos los valores que quiero comprobar en ella, y recorrer esa cadena con un bucle "for" para hacer la validación. Algo así:

Código:
//Declaro la cadena, la he probado de estas 2 maneras y ninguna funciona:
    //cadena = new Array(userA, userB, userC, userD);
    //var cadena = [userA, userB, userC, userD];

    for (i=0; i<4; i++) {
	if(!er_numero.test(form.cadena[i].value)) { 
	   alert('Contenido del campo cadena[i] no válido.')
           return (false);
    }
Qué hago mal en la declaración de la cadena y el bucle FOR?? o como puedo hacer la comprobación de otra manera para evitar tantas sentencias IF??

Saludos y gracias!!
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 11:28.