Bug #91833

When form option has label equals to 0 (zero), it's replaced by the empty string

Added by Jiří Štefl 16 days ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Form Framework
Target version:
-
Start date:
2020-07-21
Due date:
% Done:

0%

TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

Steps to reproduce:

  1. Create a new form in the backend wizard.
  2. Create a radio button element (eg Number of children) in this form with options: 0, 1, 2, 3 (same label & value).

Current result:

In the frontend the first option has an empty string as the label.

Expected result:

The first option has '0' as the label.

Problem:

There are "empty variable" conditions in TYPO3\CMS\Form\Service\TranslationService->translateFormElementValue() on lines 364 & 368. This will be true if the string is empty or equal to '0' (https://www.php.net/manual/en/function.empty.php).

Solution:

Change conditions to:

(empty($defaultValue) && $defaultValue !== '0')

Also available in: Atom PDF