私は公式のフォーム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でフィールド/ディスプレイを管理)または他のオプションを使用する必要がありますか?
ありがとう。