Ho seguito la documentazione ufficiale API Form, ma questo codice non funziona per me su 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.');
}
Sto cercando di sostituire form_error () con $ form_state-> setErrorByName () ma lo stesso problema, il file viene caricato e la convalida non viene chiamata.
Hai una soluzione per favore? La documentazione di #element_validate è obsoleta?
Il mio obiettivo: caricare molte immagini, utilizzare una convalida personalizzata e inserire tutte le miniature delle immagini all'interno <div class="preview"></div>
di un campo con un nome per ogni immagine.
Esempio: (dopo il caricamento, visualizza le miniature e il campo del titolo per nominare tutte le immagini)
Altrimenti, dopo il caricamento, per visualizzare le miniature e altri campi (titolo e descrizione) per ogni immagine, devo usare #value_callback, #process, #attached (gestisci il campo / display con js dopo il caricamento) o un'altra opzione per favore?
Grazie.