private function validationManager($fieldInfo, $tp, $uploadedFieldId, $complex = null)
 {
     // will use tmp_uploads_storage in $_SESSION to storage file info
     $uniqueStorageId = SJB_Session::getSessionId();
     $this->fileUniqueId = $uniqueStorageId . "_" . $uploadedFieldId . "_tmp";
     // delete uniquie value
     SJB_UploadFileManager::deleteUploadedFileByID($this->fileUniqueId);
     $this->property = new SJB_ObjectProperty($fieldInfo);
     $this->property->setValue('');
     if ($complex) {
         $this->property->setComplexParent($complex['parentField']);
         $this->property->setComplexEnum($complex['complexStep']);
         $fileNamePath = "{$complex['parentField']}/name/{$complex['subFieldId']}/{$complex['complexStep']}";
         $fileSizePath = "{$complex['parentField']}/size/{$complex['subFieldId']}/{$complex['complexStep']}";
     } else {
         $fileNamePath = $uploadedFieldId . '/name';
         $fileSizePath = $uploadedFieldId . '/size';
     }
     $fileName = SJB_Array::getPath($_FILES, $fileNamePath);
     if (!$fileName) {
         $validation = 'UPLOAD_ERR_INI_SIZE';
     } else {
         $uploadedFilesize = SJB_Array::getPath($_FILES, $fileSizePath);
         $filesizeInfo = SJB_HelperFunctions::getFileSizeAndSizeToken($uploadedFilesize);
         $tp->assign(array('filesize' => $filesizeInfo['filesize'], 'size_token' => $filesizeInfo['size_token']));
         $validation = $this->property->isValid();
     }
     $this->propertyValue = $this->property->getValue();
     if ($validation !== true) {
         $this->errors[$validation] = 1;
         if (!$complex) {
             $tp->assign(array('id' => $uploadedFieldId, 'value' => array('file_url' => SJB_Array::get($this->propertyValue, 'file_url'), 'file_name' => SJB_Array::get($this->propertyValue, 'file_name'), 'saved_file_name' => SJB_Array::get($this->propertyValue, 'saved_file_name'), 'file_id' => $this->fileUniqueId)));
         }
     }
     $tp->assign("uploadMaxFilesize", SJB_UploadFileManager::getIniUploadMaxFilesize());
     return $validation === true;
 }