Я следовал официальной Документации 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 после загрузки) или другой вариант, пожалуйста?
Спасибо.