我遵循了官方的Form 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_state-> setErrorByName()替换form_error(),但存在相同的问题,文件已上传且未调用验证。
请问您有解决方案吗?#element_validate的文档已过时?
我的目标:上传大量图像,使用自定义验证,然后将所有图像缩略图插入,并在<div class="preview"></div>
其中为每个图像命名。
示例:( 上传后,显示缩略图和标题字段以命名所有图像)
否则,在上传之后,要显示每个图像的缩略图和其他字段(标题和描述),我需要使用#value_callback,#process,#attached(在上传后管理字段/使用js显示)或其他选项,请吗?
谢谢。