sábado, 9 de mayo de 2020

DROPZONE JS VALIDACIONES EXTRA

En este artículo os comentaré como he ampliado las validaciones de dropzone js de una forma sencilla:
En este otro artículo (ir al artículo) os explico como validar el ancho y alto de una imágen, por medio de los objetos file.width y file.heigth.

Partiendo de la configuración inicial en:

      This is an original option:
          accept: function(file, done) {
            return done();
          },
          init: function() {
            return noop;
          },
         
 He integrado alguna validación muy fácil de modificar y que nos retorna los errores en pantalla sin problema:

      accept: function(file, done) {

      ext_img = new Array(".jpg", ".png", "jpeg");
      var namei = file.name;
      var exti = (namei.substring(namei.lastIndexOf("."))).toLowerCase();
     ext_doc = new Array(".pdf", ".doc", "docx");
      var named = file.name;
      var extd = (named.substring(named.lastIndexOf("."))).toLowerCase();

      ext_vid = new Array(".mkv", ".mp4", "avi");
      var namev = file.name;
      var extv = (namev.substring(namev.lastIndexOf("."))).toLowerCase();
     
      var sizemb = Number(file.size / 1024000).toFixed(2);

      if (ext_img.includes(exti)) {
          // ERROR SI LA IMG > DE 1 MEGA
          if (file.size > (1000 * 1024)){
                  return done ('IMAGEN: '+file.name+' SIZE: '+sizemb+' > 1MB');
                      }else{ return done(); }
            } // FIN SI ES IMAGEN

      else if (ext_doc.includes(extd)) {
          // ERROR SI EL DOCUMENTO > DE 2 MEGA
          if (file.size > (2000 * 1024)){
                  return done ('DOC: '+file.name+' SIZE: '+sizemb+' > 2MB');
                      }else{ return done(); }
            } // FIN SI ES DOC

      else if (ext_vid.includes(extv)) {
          // ERROR SI EL VIDEO > DE 50 MEGA
          if (file.size > (60000 * 1024)){
                  return done ('VIDEO: '+file.name+' SIZE: '+sizemb+' > 60MB');
                      }else{ return done(); }
            } // FIN SI ES DOC

      else {
              return done ('TIPO DE ARCHIVO NO PERMITIDO '+file.name);
            }
    }, // FIN accept: function(....

    init: function() {
      return noop;
    },

Espero que os sea útil.

No hay comentarios:

Publicar un comentario

Gracias por vuestros aportes.