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<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.