Quellcode durchsuchen

[Form] Fixed: set data is treated as string except if a transformer is set

Bernhard Schussek vor 14 Jahren
Ursprung
Commit
4ec6ba8674
1 geänderte Dateien mit 3 neuen und 6 gelöschten Zeilen
  1. 3 6
      src/Symfony/Component/Form/Form.php

+ 3 - 6
src/Symfony/Component/Form/Form.php

@@ -255,12 +255,9 @@ class Form implements \IteratorAggregate, FormInterface
         $this->dispatcher->dispatch(Events::filterSetData, $event);
         $appData = $event->getData();
 
-        // Fix data if empty
-        if (!$this->clientTransformer) {
-            // Treat data as strings unless a value transformer exists
-            if (is_scalar($appData)) {
-                $appData = (string)$appData;
-            }
+        // Treat data as strings unless a value transformer exists
+        if (!$this->clientTransformer && !$this->normTransformer && is_scalar($appData)) {
+            $appData = (string)$appData;
         }
 
         // Synchronize representations - must not change the content!