공식 Form API Documentation을 따르지만 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로 필드 / 디스플레이 관리) 또는 다른 옵션을 사용해야합니까?
감사.