Проверка правильности ввода файла формы с использованием FilePond и formvalidation.io - PullRequest
0 голосов
/ 11 октября 2019

Я использую плагин formvalidation.io (версия 0.8.1) в проекте и был взволнован, когда обнаружил, что FilePond поддерживает вложенные файлы. Тем не менее, я не могу заставить эти два плагина работать вместе. Я знаю, что FilePond имеет свою собственную проверку, но моя отправка формы основана на плагине проверки формы. У кого-нибудь есть опыт в подобном сценарии? Оба плагина кажутся настолько универсальными, и я могу просто что-то упустить.

Я использую загрузчик и пытался последовательно использовать имя для ввода FilePond, но плагин formvalidation, кажется, не распознает, когда я добавляю / удаляюфайлы в пруду.

<input type="file" class="attachment" name="attachment[]" required multiple>
<script>
    const inputElement = document.querySelector('.attachment');
    pond = FilePond.create(inputElement, {
        allowMultiple: true,
        dropValidation: true,
        name: 'attachment[]',
        required: true,
        instantUpload: false,
        maxTotalFileSize: '24MB',
        allowFileSizeValidation: true,
        labelMaxTotalFileSizeExceeded: 'Maximum total size of 24MB exceeded!'
    });
</script>
$('#suggestionForm')
  .formValidation({
      framework: 'bootstrap',
      icon: {
          valid: 'glyphicon glyphicon-ok',
          invalid: 'glyphicon glyphicon-remove',
          validating: 'glyphicon glyphicon-refresh'
      },
      autoFocus: true,
      fields: {
          'attachment[]': {
              row: '.col-sm-12',
              selector: '.attachment',
              validators: {
                  file: {
                      message: 'Please attach documents no larger than 24Mb.',
                      maxTotalSize: 25165824
                  },
                  notEmpty: {
                      message: 'Please provide an attachment.'
                  }
          }
      }
.on('change', 'attachment[]', function(e) {
    $('#suggestionForm').formValidation('revalidateField', 'attachment[]');
})

Если пруд пустой или превышает 24 МБ в общем размере, я бы хотел, чтобы проверка формы выводила соответствующие сообщения.

При использовании только простой формыПлагин ввода Formvalidation работает, как и ожидалось, с использованием того же кода, но пользователь блокируется необходимостью предоставить все требуемые файлы за один раз, в противном случае они будут перезаписаны при следующей попытке. Вот где FilePond - прекрасное решение, и я получил форму для отправки и передачи файлов, как и ожидалось, с $ _FILES внутри $ _POST. Я просто не могу заставить эту часть проверки работать.

Любая помощь или понимание очень ценится!

...