Bug #101458
closedForm Variants with conditions on values crash
0%
Description
*Versions of relevant Components:
Typo3-Version: 12.4.3
PHP Version: 8.1
CMS-Form: 12.4.3
*Steps to Reproduce:
Step 1: Design a form with variants and introduce a condition basing on value of a form element
Example with such a constellation is attached -> so feel free to try this.
Step 2: Try to include this form on an arbitrary page and call it in the frontend
*Result:
An exception is thrown, saying that the array key is not defined although it should be:
(1/1) #1476107295 TYPO3\CMS\Core\Error\Exception
PHP Warning: Undefined array key "checkbox-1" in /var/www/html/vendor/symfony/expression-language/Node/GetAttrNode.php line 133
Files
Updated by Fronzes Philippe about 1 year ago
I also have this error.
I investigate a bit.
When the form is first build (function initializeFormStateFromRequest() in FormRuntime.php), the formState is empty, and therefore also the "formValues" array.
The variants are then evaluate, with an empty formValues array.
I gess variants based on formValues should be evaluated only on form submission?
Updated by Georg Ringer 3 months ago
- Status changed from New to Closed
this can be solved by using
condition: 'traverse(formValues, "checkbox-1") == 1'
see also examples at https://docs.typo3.org/c/typo3/cms-form/main/en-us/I/Concepts/Variants/Index.html