Foros del Web » Programando para Internet » Javascript »

Validacion de un Formulario

Estas en el tema de Validacion de un Formulario en el foro de Javascript en Foros del Web. Estimados... Tengo un formulario que deseo validar pero..... utilizando el script Código HTML: function comprobar(){ var mal=false; numero=document.forms[0].elements.length; for(a=0;a<numero;a++){ if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;} else{document.forms[0].elements[a].style.backgroundColor="white";} } if(mal){ alert("Por ...
  #1 (permalink)  
Antiguo 25/03/2006, 10:43
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 18 años, 9 meses
Puntos: 0
Validacion de un Formulario

Estimados...

Tengo un formulario que deseo validar pero..... utilizando el script
Código HTML:
function comprobar(){
    var mal=false;
    numero=document.forms[0].elements.length;
    for(a=0;a<numero;a++){
    if (document.forms[0].elements[a].value==""){document.forms[0].elements[a].style.backgroundColor="#ffffcc";mal=true;}
    else{document.forms[0].elements[a].style.backgroundColor="white";}
    }
    if(mal){
       alert("Por favor, rellene los campos coloreados")
       return false;
    }
    else{
       document.forms[0].submit()
       return true;
    }
}
Mo sombrea TODOS los campos pero como hago para que no me valide por ejemplo el primero y el octavo ?

Probe hacerlo mas manual .... indicando un mesaje para el campo especifico... por ejemplo

Código HTML:
function valida(form){
    var nombre = form.ka_nombre.value;
    if( nombre == "")
     {
        alert('Debes especificar el Nombre del Responsable')
	return false;
     }
    else
     {
        return true;
     }
}
Pero quisiera que en el mismo alert me mostrara la validacion de los campos uno tras de otro (un solo alert) pero no tengo idea del como hacerlo

Por otro lado el formulario es dinamico y varia el nro.de filas segun la peticion del usuario, e incluso al final pudiese incluir otras, en ese caso utilizo variable del tipo : nombre1, nombre2,...,nombren. como puedo validar este aspecto en Js ?

Gracias por sus aportes
__________________
Saludos. Frank :arriba:

Mi Blog http://fjgmblog.blogspot.com
  #2 (permalink)  
Antiguo 25/03/2006, 22:35
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Lo que yo hice al enfrentarme al mismo problema fue crear una función que solamente validara el campo que le pasara como parámetro.
Además agrega a una variable "alerta" los errores que va encontrando.

Entonces tengo mi lista de campos, y para cada uno de ellos tengo una línea, por ejemplo:

devuelve = validar(elemento1);
...
devuelve = validar(elementoN);

Así hago que la función validar devuelva solamente true (bien) o false (en caso de error), y luego compruebo "devuelve".
Si devuelve = false, muestro los mensajes que había concatenado en la variable "alerta".

Espero que te sirva como guía.

Saludos.
  #3 (permalink)  
Antiguo 26/03/2006, 05:37
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 18 años, 9 meses
Puntos: 0
Alvin... gracias por tu sugerencia... hasta habia hecho los cambios mas o menos como indicas
Código HTML:
function valida(form){
    error = "";
    var nombre = form.ka_nombre.value;
    var apellido = form.ka_apellido.value;
    var ci = form.ka_rif_ci.value;
    var telp = form.ka_telf_ppal.value;
    var telm = form.ka_telf_movil.value;
    
    if( nombre == ""){error+="Debes especificar el Nombre del Responsable\n"}
    if( apellido == ""){error+="Debes especificar el Apellido del Responsable\n"}
    if( ci == ""){error+="Debes especificar el Rif/CI/Nro.Pasaporte del Responsable\n"}
    if( telp == "" && telm == ""){error+="Debes especificar el Telefono Principal o Movil del Responsable\n"}
    if( error != "")
     {
        alert(error)
	return false;
     }
    else
     {
        return true;
     }
}
Hasta aca toco solo los campos "estaticos" la duda es como, a partir de este mismo, incluyo las dinamicas, que, revisando otros procesos mas adelante, no solo se despliegan a peticion del usuario sino que pudiesen tener checkbuttom para seleccionar de una lista... estas son las que llamo "dinamicas"

Gracias por tu apoyo
__________________
Saludos. Frank :arriba:

Mi Blog http://fjgmblog.blogspot.com
  #4 (permalink)  
Antiguo 26/03/2006, 12:32
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
sin ver el código que usás (sería necesario para dar una respuesta más específica) se me ocurre que lo que podés hacer es ir numerando los campos que agregues, algo como campo1, campo2, campoN.
Así después podés recorrerlos todos usando while o for, aumentando el índice.
Claro que tendrías que usar eval() y construir la sentencia correcta (quizás se puede hacer con una matriz.....).

Saludos.
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 16:43.