Salve , ho un form e un dropzone che in fase di upload invia i dati all'onsending dei file di dropzone ad un o script php che salva tutto in un db :

codice:



  if (document.getElementById('myDropzone')) {


      var drz = new Dropzone("#myDropzone",
      {
          url: "{{route('userLibri.update',['id'=>$record->id])}}",
          autoProcessQueue: false,
          uploadMultiple: true,
          paramName: "file",
          clickable: true,
          maxFilesize: 10, //in mb
          addRemoveLinks: true,
          acceptedFiles: ".jpeg,.jpg,.png,.gif",
          dictDefaultMessage: "Clicca o trascina il tuo file QUI ",
          maxFiles: 3,
          parallelUploads: 3, //di default è 2 se non settato e carica solamente 2 file


          init: function() {


          var myDropzone = this;


            // In edit
            @php


                $n=0;
                foreach ($lista_immagini_libri as $v) :


            @endphp


                let mockFile_immagini_libri{{$n}} = { name: '{{$v->nome_file}}', size: 12345 ,nome_file_originale:'{{$v->token_nome_file_originales }}'};


                myDropzone.displayExistingFile(mockFile_immagini_libri{{$n}}, '/uploads/immagini_libri/{{Auth()->user()->id}}/{{$record->id}}/{{ $v->nome_file }}');


                $('.dz-upload:last-child').attr('style', 'width:100%');


            @php


                $n++;
                endforeach;


            @endphp




          $('#button_metti_in_vendita').on("click", function() {






              var id_users =$('#id_users').val();
              var titolo = $('#id_class_titolo').val() ;
              var codice_isbn= $('#id_class_codice_isbn').val() ;
              var autore= $('#id_class_autore').val() ;
              var id_stati_conservazione = $('#id_id_stati_conservazione').val();
              var note= $('#id_class_note').val();


              //numero file nella dropzone
              var numero_file_dropzone =$("#myDropzone").find(".dz-image").length;




              //se non ho titolo
              if(titolo=='' || titolo==null){


                  var message ='Non hai inserito il titolo!!!';
                  $('#alertModal').find('.modal-body h3').text(message);
                  $('#alertModal').modal('show');


              }else if(codice_isbn=='' || codice_isbn==null){


                  var message ='Non hai inserito il codice isbn!!!';
                  $('#alertModal').find('.modal-body h3').text(message);
                  $('#alertModal').modal('show');


              }else if(autore=='' || autore==null){


                  var message ='Non hai inserito l\'autore!!!';
                  $('#alertModal').find('.modal-body h3').text(message);
                  $('#alertModal').modal('show');


              }else if(id_stati_conservazione=='' || id_stati_conservazione==null ) {


                  var message ='Non hai selezionato nessuno stato di conservazione!!!';
                  $('#alertModal').find('.modal-body h3').text(message);
                  $('#alertModal').modal('show');


              }else if(!numero_file_dropzone) {


                  var message ='Non hai inserito nessun file!!!';
                  $('#alertModal').find('.modal-body h3').text(message);
                  $('#alertModal').modal('show');


              }else{//se non ho nessun errore procedo


                alert('pulsante premuto');


                  var myDropzone = Dropzone.forElement(".dropzone");
                  myDropzone.processQueue();


              }








          });




            


          this.on("sending", function(file, xhr, formData){
              console.log("sending file");
              formData.append("id",'{{$record->id}}' );
              formData.append("_token",'{{csrf_token()}}' );
              formData.append("_method",'PATCH' );
              formData.append("id_users", {{ $user->id}} );
              formData.append("titolo", $('#id_class_titolo').val() );
              formData.append("codice_isbn", $('#id_class_codice_isbn').val() );
              formData.append("autore", $('#id_class_autore').val() );
              formData.append("id_stati_conservazione" ,JSON.stringify( $('#id_id_stati_conservazione').val() )  );
              formData.append("prezzo" , $('#id_class_prezzo').val());
              formData.append("note", $('#id_class_note').val() );






          });


          this.on("success", function(file, response) {
          console.log('great success'+response);




              if(response.success == 0){ // Error
                  var message =response.error;
                  $('#alertModal').find('.modal-body h3').html(message);
                  $('#alertModal').modal('show');
                  var myDropzone = Dropzone.forElement(".dropzone");
                  myDropzone.removeFile(file);


              }


              if(response.success == 2){


                  //alert(response.message);


                  //senza errori mostro il modal
                  $("#successModal").modal("toggle");
              }


          });




          this.on("addedfile", function(file){
              if(this.files.length>3){


              this.removeFile(file);


              }else{


                  console.log('file added');


              }
          });
          }
      });
  };
In fase di edit , dovrei controllare che i file siano diversi da quelli già salvati nel db , nel caso siano cambiati posso utilizzare sempre l'onsending altrimenti andrebbero mandati via ajax al click , come posso controllare che i file siano quelli già salvati ?