J'ai suivi la documentation officielle de l'API Form, mais ce code ne fonctionne pas pour moi sur 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.');
}
J'ai essayé de remplacer form_error () par $ form_state-> setErrorByName () mais même problème, le fichier est téléchargé et la validation n'est pas appelée.
Avez-vous une solution s'il vous plaît? La documentation de #element_validate est obsolète?
Mon objectif: télécharger beaucoup d'images, utiliser une validation personnalisée et insérer toutes les vignettes d'images à l'intérieur d'un <div class="preview"></div>
avec un champ pour nommer chaque image.
Exemple: (Après le téléchargement, affichez les vignettes et le champ de titre pour nommer toutes les images)
Sinon, après le téléchargement, pour afficher les vignettes et autres champs (titre et description) pour chaque image, je dois utiliser #value_callback, #process, #attached (gérer le champ / affichage avec js après le téléchargement) ou une autre option s'il vous plaît?
Merci.