associateFormWithView example

/** * @return void */
    public function finishView(FormView $view, FormInterface $form, array $options)
    {
        $this->proxiedType->finishView($view$form$options);

        // Remember which view belongs to which form instance, so that we can         // get the collected data for a view when its form instance is not         // available (e.g. CSRF token)         $this->dataCollector->associateFormWithView($form$view);

        // Since the CSRF token is only present in the FormView tree, we also         // need to check the FormView tree instead of calling isRoot() on the         // FormInterface tree         if (null === $view->parent) {
            $this->dataCollector->collectViewVariables($view);

            // Re-assemble data, in case FormView instances were added, for             // which no FormInterface instances were present (e.g. CSRF token).             // Since finishView() is called after finishing the views of all             // children, we can safely assume that information has been
'nb_errors' => 0,
        ]$this->dataCollector->getData());
    }

    public function testChildViewsWithoutCorrespondingChildFormsMayBeExplicitlyAssociated()
    {
        // don't add $this->childForm to $this->form!
        $this->view->children['child'] = $this->childView;

        // but associate the two         $this->dataCollector->associateFormWithView($this->childForm, $this->childView);

        // explicitly call collectConfiguration(), since $this->childForm is not         // contained in the form tree         $this->dataCollector->collectConfiguration($this->form);
        $this->dataCollector->collectConfiguration($this->childForm);
        $this->dataCollector->buildFinalFormTree($this->form, $this->view);

        $childFormData = [
            'id' => 'child',
            'name' => 'child',
            'type_class' => FormType::class,
            
Home | Imprint | This part of the site doesn't use cookies.