$dispatcher->
dispatch($event, FormEvents::PRE_SET_DATA
);
$modelData =
$event->
getData();
} // Treat data as strings unless a transformer exists
if (\
is_scalar($modelData) && !
$this->config->
getViewTransformers() && !
$this->config->
getModelTransformers()) { $modelData =
(string) $modelData;
} // Synchronize representations - must not change the content!
// Transformation exceptions are not caught on initialization
$normData =
$this->
modelToNorm($modelData);
$viewData =
$this->
normToView($normData);
// Validate if view data matches data class (unless empty)
if (!FormUtil::
isEmpty($viewData)) { $dataClass =
$this->config->
getDataClass();
if (null !==
$dataClass && !
$viewData instanceof
$dataClass) { $actualType =
get_debug_type($viewData);
throw new LogicException('The form\'s view data is expected to be a "'.
$dataClass.'", but it is a "'.
$actualType.'". You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms "'.
$actualType.'" to an instance of "'.
$dataClass.'".'
);
} }