Eu segui a documentação oficial da API de formulários, mas esse código não funciona para mim no 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.');
}
Eu estou tentando substituir form_error () por $ form_state-> setErrorByName () mas mesmo problema, o arquivo é carregado e a validação não é chamada.
Você tem uma solução, por favor? A documentação de #element_validate está desatualizada?
Meu objetivo: Carregar muitas imagens, usar uma validação personalizada e inserir todas as miniaturas de imagens dentro de um <div class="preview"></div>
com um campo para nomear cada imagem.
Exemplo: (após o upload, exiba miniaturas e campo de título para o nome de todas as imagens)
Caso contrário, após o upload, para exibir Miniaturas e outro campo (título e descrição) para cada imagem, preciso usar #value_callback, #process, #attached (gerenciar campo / exibição com js após o upload) ou outra opção, por favor?
Obrigado.