He seguido la documentación oficial de Form API, pero este código no me funciona en 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.');
}
Intenté reubicar form_error () por $ form_state-> setErrorByName () pero el mismo problema, el archivo se carga y no se llama a la validación.
¿Tienes una solución por favor? ¿La documentación de #element_validate está desactualizada?
Mi objetivo: cargar muchas imágenes, usar una validación personalizada e insertar todas las imágenes en miniatura dentro de <div class="preview"></div>
un campo con un nombre para cada imagen.
Ejemplo: (Después de cargar, muestre las miniaturas y el campo de título para nombrar todas las imágenes)
De lo contrario, después de cargar, para mostrar Miniaturas y otro campo (título y descripción) para cada imagen, necesito usar #value_callback, #process, #attached (administrar campo / pantalla con js después de cargar) u otra opción, por favor?
Gracias.