Foros del Web » Programando para Internet » Javascript »

Validar campo input[]

Estas en el tema de Validar campo input[] en el foro de Javascript en Foros del Web. Hola a todos, quiero validar el campo input, que si esta vacío no me permita seguir... lo logre con las extensiones, pero no así con ...
  #1 (permalink)  
Antiguo 22/07/2021, 13:06
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 862
Antigüedad: 14 años, 3 meses
Puntos: 7
Pregunta Validar campo input[]

Hola a todos, quiero validar el campo input, que si esta vacío no me permita seguir...

lo logre con las extensiones, pero no así con si esta vacío o no..

mi html:

Código HTML:
Ver original
  1. <div class="mb-3 fondo">
  2.   <label for="exampleFormControlInput1" class="form-label"><b>Elija una Imagen (2)</b></label>
  3.   <input type="file" class="form-control" name="my_files[]" multiple id="archivoInput" onchange="return validarExt()">
  4. </div>

y el código de JavaScript

Código Javascript:
Ver original
  1. function validarExt()
  2. {
  3.     var archivoInput = document.getElementById('archivoInput');
  4.     var files = document.getElementById('archivoInput').files;
  5.    
  6.     var archivoRuta = archivoInput.value;
  7.     var extPermitidas = /(.png|.gif|.jpg)$/i;
  8.     if(!extPermitidas.exec(archivoRuta)){
  9.         alert('Asegurese de haber seleccionado una Imagen');
  10.         archivoInput.value = '';
  11.         return false;
  12.     }
  13.     if (!files.length) {
  14.       alert('selecciones un fila !');
  15.       return false;
  16.  
  17.  
  18.     }
  19.   }
  20.   </script>


Muchas gracias de antemano por su tiempo ..
Saludos.!!!
  #2 (permalink)  
Antiguo 23/07/2021, 14:22
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.538
Antigüedad: 10 años
Puntos: 968
Respuesta: Validar campo input[]

El evento change se produce cuando cambia el contenido del elemento. Si el usuario pulsa el elemento para seleccionar un archivo pero cancela la operación, no selecciona nada y previamente tampoco seleccionó nada, ningún evento de cambio se habrá producido. En cambio, si selecciona un archivo y vuelve a pulsar el elemento para seleccionar otro pero termina por no hacerlo, entonces sí se producirá un cambio, quedando el elemento sin archivos. Solo en ese caso se lanzará la alerta.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 24/07/2021, 15:06
 
Fecha de Ingreso: abril-2011
Mensajes: 169
Antigüedad: 10 años, 7 meses
Puntos: 68
Respuesta: Validar campo input[]

Como dice Alexis, no tiene mucho sentido poner esa condición if (!files.length) en el evento onchange, ya que el evento onchange solamente se dispara cuando el usuario ha seleccionado al menos un archivo.

Sería mejor que añadieras el atributo required de HTML5:

Código HTML:
Ver original
  1. <input type="file" class="form-control" name="my_files[]" multiple id="archivoInput" required>

Así, antes de enviar el formulario, lanzará una advertencia si el usuario no seleccionó ningún archivo y se cancelará automáticamente el envío del formulario.




La zona horaria es GMT -6. Ahora son las 23:24.