title: Symfony\Component\Form\Exception\TransformationFailedException
body: <p>I  am trying to set up an ajax call to to fill the select option for user.</p>
  
  <p>1/ You select location</p>
  
  <p>2/ new dropdown appear with zone</p>
  
  <p>Everything work just fine until :</p>
  
  <p>3/ Validation form does not pass</p>
  
  <pre><code>Unable to reverse value for property path "zone":
  
  The choice "13e Arrondissement" does not exist or is not unique
  </code></pre>
  
  <p>FormType: </p>
  
  <pre><code>public function buildForm(FormBuilderInterface $builder, array $options)
  {
      //...
  
       -&gt;add('location', EntityType::class, ['class' =&gt; 'PagesBundle:City'])
       -&gt;add('zone', CoreType\ChoiceType::class, ['choices_as_values' =&gt; true, 'mapped' =&gt; false]);
  
      $builder-&gt;get('zone')-&gt;addEventListener( FormEvents::PRE_SET_DATA, function (FormEvent $event) {
              $form = $event-&gt;getForm()-&gt;getParent();
              $data = $event-&gt;getData();
              $city[$data] = $data;
  
              $form-&gt;add('zone', CoreType\ChoiceType::class, ['choices' =&gt; $city,'choices_as_values' =&gt; true]);
  
          //...     
  </code></pre>
  
  <p>My Ajax :</p>
  
  <pre><code>$("document").ready(function() { 
  $('#zone').addClass('uk-hidden');
  $("#cityName").change(function() {
      var city = $( "#owner_location option:selected" ).text();
  
         $.ajax({
            type: 'GET',
            url: 'http://locavip.dev/app_dev.php/owner/city/' + city,
  
            beforeSend: function(){
              $('#owner_zone option').remove();
            },
  
            success: function(data) {
  
               $.each(data.zone, function(index, value){
                  $('#zone').removeClass('uk-hidden');
                  $("#owner_zone").append($('&lt;option&gt;', { value : value, text: value }));
               });
            }
         });
  </code></pre>
  
  <p>});
  });</p>
  
  <p>AjaxController:</p>
  
  <pre><code>$em = $this-&gt;getDoctrine()-&gt;getManager();
          $database = 'PagesBundle:'.$city;
          $cityName = $em-&gt;getRepository($database)-&gt;findAll();   
  
          foreach ($cityName as $value) {
                  $cities[] = $value-&gt;getZone();
          }
          $response = new JsonResponse();
  
          return $response-&gt;setData(array('zone' =&gt; $cities));
  </code></pre>
  
  <p>Thanks</p>