Problem Statement
In the new Edit Contentlet, Checkbox, Radio, Select, and Multiselect fields render their options as label|value pairs, where only the label (the text before the |) should be displayed and the value (after the |) is stored.
When a field has only one option defined (e.g. Yes|yes), the field displays the whole raw value Yes|yes instead of just the label Yes. The label/value split is not applied in the single-option case.
Impact: Any single-option Checkbox/Radio/Select/Multiselect field shows an incorrect, developer-facing label (Yes|yes) to content editors. Cosmetic but visible on real content.
Browser & OS: All (frontend rendering issue).
Steps to Reproduce
- Create or edit a content type with a Checkbox (or Radio, Select, or Multiselect) field.
- Configure the field with a single option using the
label|value format, e.g. Yes|yes.
- Open a contentlet of that type in the new Edit Contentlet.
- Observe: the option renders as
Yes|yes.
- Expected: the option renders as
Yes (only the label, the text before the |).
Acceptance Criteria
Suggested Tests
This is a frontend option-parsing/display bug, so the meaningful coverage is Unit.
Unit (Jest/Spectator)
E2E (Playwright)
Integration / Postman
dotCMS Version
Latest from main branch (new Edit Contentlet)
Severity
Low - Minor issue or cosmetic
Links
NA
Problem Statement
In the new Edit Contentlet, Checkbox, Radio, Select, and Multiselect fields render their options as
label|valuepairs, where only the label (the text before the|) should be displayed and the value (after the|) is stored.When a field has only one option defined (e.g.
Yes|yes), the field displays the whole raw valueYes|yesinstead of just the labelYes. The label/value split is not applied in the single-option case.Impact: Any single-option Checkbox/Radio/Select/Multiselect field shows an incorrect, developer-facing label (
Yes|yes) to content editors. Cosmetic but visible on real content.Browser & OS: All (frontend rendering issue).
Steps to Reproduce
label|valueformat, e.g.Yes|yes.Yes|yes.Yes(only the label, the text before the|).Acceptance Criteria
|), e.g.Yes|yes→Yes|(e.g.yes) — only the display label changes|(e.g.Yes) still displays correctly, using the whole string as both label and valueSuggested Tests
This is a frontend option-parsing/display bug, so the meaningful coverage is Unit.
Unit (Jest/Spectator)
"Yes|yes"→ label"Yes", value"yes"(the core regression test)|(e.g."Yes") uses the whole string as both label and valueyes), not the labelE2E (Playwright)
YesvsYes|yes) and the value-on-selection are fully covered by the unit tests; a full E2E spec adds no meaningful coverage for a cosmetic bug.Integration / Postman
yes.)dotCMS Version
Latest from main branch (new Edit Contentlet)
Severity
Low - Minor issue or cosmetic
Links
NA