Giter Site home page Giter Site logo

Comments (5)

craue avatar craue commented on June 12, 2024

It's still part of the request data. probably in the POST parameters. Check the profiler or dump($request->request->all());.

from craueformflowbundle.

fdiedler avatar fdiedler commented on June 12, 2024

@craue Arf, it seems that there are not saved into session. So parameters are lost if I navigate through steps.

In fact, the first step sets some options (not mapped properties) that influence other steps.
Example : if I answer "yes" to a question of the first step, the second step has more fields.

protected function loadStepsConfig()
    {
        $dataNotMapped = $this->getRequest()->get('property_options');
         return [
	    [
		'label' => 'Onboarding',
		'form_type' => PropertyOptionsType::class,
                'skip' => function($estimatedCurrentStepNumber, FormFlowInterface $flow) use($dataNotMapped) {
			return ($estimatedCurrentStepNumber != 1 || $dataNotMapped !== null);
                },
	    ],
            [
		'label' => 'Propriétaire',
		'form_type' => PropertyType::class,
                'form_options' => [
                    'host_with_company' => ($dataNotMapped && isset($dataNotMapped['hostWithCompany']) && $dataNotMapped['hostWithCompany']),
                 ]
        ],
  ];
}

But, if I click on the "step 2" link label, parameters are lost because there are not in the request anymore.

How can I do that ?

from craueformflowbundle.

craue avatar craue commented on June 12, 2024

What's the reason for not mapping the field? If it's because you're using the flow to "fill" an entity with data but you need additional form fields for proceeding within the flow, you should create a form data class dedicated for this flow which will contain the entity and the additional properties.

from craueformflowbundle.

fdiedler avatar fdiedler commented on June 12, 2024

@craue Yes that is the reason. That is what I done but it does not work. because all data stored in Request are lost if there are an error in the current step and I have an error mesage "Form cannot have extra fields"

protected function loadStepsConfig()
    {
        $dataNotMapped = $this->getRequest()->get('property');

		return [
			[
				'label' => 'Onboarding',
				'form_type' => PropertyType::class,
                'skip' => function($estimatedCurrentStepNumber, FormFlowInterface $flow) use($dataNotMapped) {
					return false;
                },
			],
            [
				'label' => 'Propriétaire',
				'form_type' => PropertyType::class,
                'form_options' => [
                    'host_with_company' => ($dataNotMapped && isset($dataNotMapped['hostWithCompany']) && $dataNotMapped['hostWithCompany']),
                ]
			],
      ]
}

craue2

After validating the current step

craue3

Because not mapped data stored in Request are lost...

Thanks,

from craueformflowbundle.

craue avatar craue commented on June 12, 2024

If you need submitted form data outside of the current request, map the fields. Take a closer look at property addDriver in the "create vehicle" flow in the demo bundle: https://github.com/craue/CraueFormFlowDemoBundle/tree/782c3cec1dc1a964afad8a2c5884541bccbf7913/Form

from craueformflowbundle.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.