Я дотримувався офіційної документації API API, але цей код не працює для мене на Drupal 8:
public function buildForm(array $form, FormStateInterface $form_state) {
$form['upload'] = array(
'#title' => t('Upload Images'),
'#type' => 'managed_file',
'#upload_location' => 'public://image_example_images/',
'#element_validate' => array('file_generic_settings_max_filesize'),
);
return $form;
}
private function file_generic_settings_max_filesize($element, &$form_state) {
form_error($element, 'This is an error.');
}
Я намагаюся замінити form_error () на $ form_state-> setErrorByName (), але ця ж проблема, файл завантажений і перевірка не викликається.
У вас є рішення, будь ласка? Документація #element_validate застаріла?
Моя мета: Завантажити багато зображень, скористатися спеціальною валідацією та вставити всі ескізи зображень всередині а <div class="preview"></div>
з полем для імені кожного зображення.
Приклад: (Після завантаження відображайте мініатюри та поле заголовка для імені всіх зображень)
Ще, після завантаження, для відображення мініатюр та іншого поля (назва та опис) для кожного зображення, мені потрібно використовувати #value_callback, #process, #attached (керувати полем / відображенням з js після завантаження) або інший варіант, будь ласка?
Дякую.