Пользовательская форма Drupal 8 Управляемый_файл Несколько полей для загрузки ограничивают количество загружаемых файлов. - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть пользовательская форма в Drupal 8. Форма имеет поле managed_file с несколькими значениями true. Я сталкиваюсь с проблемой ограничения количества загружаемых файлов в это поле.

Я должен заполнить это поле managed_file, чтобы загружать только 3 изображения.

Может ли кто-нибудь помочь мне с этим? Я попробовал приведенный ниже код.

    public function buildForm(array $form, FormStateInterface $form_state) {

    $form['upload_doc'] = array(
          '#type' => 'managed_file',
          '#title' => 'File Upload',
          '#upload_location' => 'public://upload_document/',
          '#required' => TRUE,
          '#multiple' => TRUE,
          '#upload_validators' => array(
            'file_validate_extensions' => array('jpg jpeg png'),
            'file_validate_size' => 2000,
          ),
        );

    // Add a submit button that handles the submission of the form.
        $form['actions']['submit'] = [
          '#type' => 'submit',
          '#value' => $this->t('Submit'),
        ];

        return $form;
}

public function validateForm(array &$form, FormStateInterface $form_state) {      
      $fileObj = $form_state->getValue('upload_doc');
      if (count($fileObj) > 3) {
        drupal_set_message('File limit exceed'.count($fileObj), 'error');
        return false;
      } else {
          return true;
      }
  }

Проблема в том, что я не могу подтвердить ограничение на загрузку файлов. Это позволяет загружать больше, чем лимит. Пожалуйста, помогите мне Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...