terminal42 / contao-conditionalformfields
conditionalformfields extension for Contao Open Source CMS; Display form fields based on conditionis!
Package info
github.com/terminal42/contao-conditionalformfields
Type:contao-bundle
pkg:composer/terminal42/contao-conditionalformfields
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- contao/core-bundle: ^4.13 || ^5.0
- doctrine/dbal: ^2.11 || ^3
Requires (Dev)
- contao/manager-plugin: ^2.0
- terminal42/contao-build-tools: dev-main
- terminal42/contao-mp_forms: ^4.4 || ^5.0
Conflicts
- contao/manager-plugin: <2.0 || >=3.0
- terminal42/contao-mp_forms: <4.4
This package is auto-updated.
Last update: 2026-03-26 10:22:42 UTC
README
Allows you to display a form field based on a condition which allows you to do something like "only display the field when value of field 'foo' is 'bar' and 'bla' is 'yes'".
The condition is not entered directly at the form field, but a field set with start and end must be created. The condition can be entered in the start of field set. The field set can also be used to control several form fields in the view.
foo == 'bar' && bla == 'yes'
You can also check the array (e.g. multiple checkboxes or select menu):
in_array('bar', foo)
To validate a single checkbox simply compare its value:
foo == '1'
Note for Version 3
The field names had a prefix $ until version 3 - this is no longer necessary.
When updating to version 3 or later, the conditions are automatically adjusted.
Support for member fields
Version 4 adds support for conditions on member fields, e.g. for the member registration. To use conditions, you have to follow a strict setup:
- create new DCA fields for
tl_memberwithinputTypeoffieldsetStartandfieldsetStopas necessary - set
eval => isConditionalFormField = trueandeval => conditionalFormFieldCondition = 'your-condition'on thefieldsetStart - make sure to also set
feEditableandfeGroupaccordingly - select the new fields in the member registration module and sort them so the appropriate fields are within the start and stop field.
Known limitation: mandatory fields will not show as mandatory (asterisk) after a form submit, if they were hidden during the form submit.