The rules are applied in the browser by js-forms-conditionals.js, and each of these stops it without a visible error:
- The rules are not on the page. The layout must print them into
window['formConditionals' + form id]. The console then says "Conditionals not found for form ID" and every field stays visible. - The script missed its start. It starts only on
DOMContentLoaded. Loaded withasync, or added by another script, it can arrive later and never run. - No container. It works on
.coredna-js-formcontainers with a_formIdfield, on page-per-step forms too. - The element has no id. Elements of some older forms have none, so they render without
data-idand no rule can reach them.
A form that shows everything correctly and still cannot be completed is a different problem: a required field on a step hidden by a rule stays required on the server. Hide a group instead of the step.