Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/01/2016, 23:03
shawn1986
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Validar campos selectivamente (campos requeridos y no requeridos)

Cita:
Iniciado por carlillos Ver Mensaje
En tu segundo código estás haciendo un loop para todos los elementos sin distinción, si quieres que haya algunos opcionales tienes que crear una excepciónes.

Código Javascript:
Ver original
  1. var form = document.getElementById("formulario");
  2. form.addEventListener("submit", function(event){
  3.   event.preventDefault();
  4.   var campo = true,
  5.       elementos = this.elements,
  6.       total = elementos.length,
  7.       opcional; //Variable de campo opcional
  8.  
  9.   for (var i = 0; i < total; i++){
  10.     //Valor inicial de variable
  11.     opcional = false;
  12.     //Revisando si es campo opcional
  13.     if (elementos[i].name === "imagen1" ||
  14.           elementos[i].name === "imagen2" ||
  15.           elementos[i].name === "imagen3" ||
  16.           elementos[i].name === "imagen4" ||
  17.           elementos[i].name === "imagen5" ||
  18.           elementos[i].name === "imagen6") {
  19.           //Activando variable opcional
  20.           opcional = true;
  21.     }
  22.     if (!elementos[i].value.length && !opcional){
  23.       alert ("Debes de ingresar el " + elementos[i].name);
  24.       elementos[i].focus();
  25.       campo = false;
  26.       break;
  27.     }
  28.   }
  29.  
  30.   if (campo){
  31.     this.submit();
  32.   }
  33. }, false);

Saludos.

carlillos;4767798 Te agradezco infinitamente tu ayuda, tu código funciona que no veas, va de 10, ahora tengo una duda, me valida perfectamente bien los campos input, pero ¿Qué pasa con los campos de selección?, si me pudieras echar una mano para adaptar mi primer codigo al que ya me has proporcionado, para lograr una validación completa de todos los campos, es decir, tanto los input como los select, y de paso dejar un codigo muy util de validación para cualquiera que lo necesite.

Mi primer codigo funciona bien, solo que no se adapta como debería al segundo ni al tuyo, pues si falta un campo input y un select, saltan los dos avisos uno seguido del otro, sin respetar algun tipo de estructura switch o break que vaya detectando segun el orden de los campos.

De antemano te agradezco muchisimo tu ayuda, si es posible que me orientes en lo que te solicito yo mismo trataría de desarrollarlo.