"managed_file" form field type returns null value in my form submission

13/08/2018


I am have been stuggling with this for the past day or so. I am simply trying to create a custom entity and populate/or update the image field with the fid. Whats weird is that every other form field i am passing i can get the value for but this managed_file field for uploading an image always returns NULL when I call dpm().

use DrupalCoreFormFormBase;
use DrupalCoreFormFormStateInterface;
use DrupalfileEntityFile;

Within my form_build function I use the following code.

// Manage file.
$form['theimage'] = array(
  '#type' => 'managed_file',
  '#title' => 'Managed file',
  '#description' => $this->t('Manage file, #type = managed_file'),
  //'#default_value' => $form_state->getValue('theimage'),
  '#upload_location' => 'public://images/',
  '#required' => FALSE,
);

In the submission handler, I use the following code.

// Get the fid value, upload it and save it to the managed file table. 
$fid = $form_state->getValue(['theimage', 0]);
dpm($fid);
if (!empty($fid)) {
  $file = File::load($fid);
  $file->setPermanent();
  $file->save(); 
}

Any thoughts, solutions, or recommendations would be greatly appreciated.

قالب وردپرس