You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
f7cf3a1641
1200-inputmode
2021-2022-json-updates
2308-migrated-locations-not-confirmed-automatically
AwsInsecure
AwsProdDeploy
AwsRunDbMigrations
CLDC-1049-autocomplete-improvements
CLDC-1183-assistive-tech
CLDC-1219-create-single-org-migration-task
CLDC-122-experimental-background-job-lettings-log-import-with-report
CLDC-1222-improve-case-log-import-performance
CLDC-1249-data-inputters-can-select-supported-housing-schemes
CLDC-1263-create-org-logs
CLDC-1324
CLDC-1324-remove-not-started
CLDC-1324-remove-not-started-status
CLDC-1324-remove-not-started-status-no-rebase
CLDC-1348-basic-validation-for-scheme-and-location-refactor
CLDC-1390-la-lookup-fallback-WIP
CLDC-1468-add-postcode-to-sales-property-info-journey
CLDC-1469-local-authority-question-sales
CLDC-1474-sales-setup-ownership-scheme
CLDC-1482-sales-log-buyer-company
CLDC-1528-person-1-relationship-to-buyer-1
CLDC-1530-working-situation
CLDC-1533-is-resale
CLDC-1537-details-for-person-1
CLDC-1586-spike
CLDC-1627-check-your-answers-page-changes
CLDC-1661-new-page-for-housing-providers
CLDC-1665-add-scheme-status
CLDC-1671-deactivate-scheme
CLDC-1672-reactivate-scheme
CLDC-1672-scheme-reactivation-review-app
CLDC-1730-stock-owning-validation2
CLDC-1741-scheme-attributes-bug-fix
CLDC-1750-po-fixes
CLDC-1787-bulk-upload-column-ordering
CLDC-1790-sales-validation-content-updates
CLDC-1820-allow-deactivation-or-reactivation-of-last-year-schemes-and-locations-in-crossover-period
CLDC-1864-question-numbering
CLDC-1864-question-numbering-too
CLDC-1880-mortgage-length-validations
CLDC-1917-allow-23-24-form
CLDC-1917-allow-23/24-form
CLDC-1963-fix-reset-password-bugs
CLDC-20-more-ac-fixes2
CLDC-20-more-ac-fixes3
CLDC-2019-UPRN-search
CLDC-2055-which-organisations-are-merging
CLDC-2068-request-and-validate-UPRN
CLDC-2105-merge-orgs-owning-org-dropdown
CLDC-2213-do-not-display-local-authority-question-if-inferred
CLDC-2227-move-uprn-questions
CLDC-2252-homepage-task-section
CLDC-2257-refactor-filters
CLDC-2322-read-and-sign-data-sharing-agreement
CLDC-2349-scientific-notation-uprn-error
CLDC-2390-town-not-given
CLDC-2412-data-privacy-bu
CLDC-2454-add-q90-based-on-q78
CLDC-2459-review-branch
CLDC-2460-review-app
CLDC-2491-Change-address-bug
CLDC-2492-create-rake-task-to-set-creation-method-for-existing-logs
CLDC-2505-bulk-upload-pages
CLDC-2545-add-q90-based-on-q78
CLDC-2585-mandatory
CLDC-2632.2-set-uprn-known-no
CLDC-2640-location-guidance
CLDC-2672-duplicate-logs-question-page-button
CLDC-2831-page-load
CLDC-2835-review-app-branch
CLDC-2896-pipes-in-bu
CLDC-2995-add-renttype-detail-column
CLDC-3014-schemes-locations-csv-download
CLDC-3025-leading-zeroes-in-old-visible-id-lookup-bug
CLDC-3091-asset-paths
CLDC-3132-24-25-reason-for-vacancy-update
CLDC-3147-update-pregnancy-for-24-25
CLDC-3152-update-ppostcode-hint-for-23-24
CLDC-3196-update-bu-resources-link
CLDC-3229-review-app-for-bu-testing
CLDC-3233-address-uprn-lookup-spike
CLDC-3292-staircase-validation
CLDC-3305-postcode-routing
CLDC-3339-update-selcet-correct-address-error
CLDC-3345-populate-assigned-to
CLDC-3345-rename-created-by-new
CLDC-3345-replace-created-by
CLDC-3345-save-created-by-values
CLDC-3345-test-branch
CLDC-3345-update-created-by-values
CLDC-3414-update-homepage
CLDC-3465-hard-validation-updates
CLDC-3465-update-setup-question-link
CLDC-3611-performance
CLDC-3611-performance-testing
CLDC-3740-Replace-you-didnt-answer-with-link
CLDC-3788-export-sales-logs
CLDC-3790-continued
CLDC-559-printed-form
CLDC-846-demographic-gender-validation
CLDC-858-no-of-beds-validation-sales
CLDC-858-update-sales-property-information
CLDC-858-validate-beds
CLDC-869-add-validations-for-initial-equity-for-shared-ownership
CLDC-898-monthly-charges-validation
CLDC-908-add-validation-mortgage-lender-name-provided-if-other
CLDC-933-update-household-income-questions
CLDC-allow-23-24-form-new
CLDc-3391-add-51-weeks-rent-period
CacheAssets
DO_NOT_MERGE
ForceAwsTaskFailure
MigrationEmailsFix
Prototyping
ReviewAppsAssets
active-admin-theme
after-demo
answer
before-demo
bu-sales-23-v3
bulk-upload-duplicates-bkup
bulk-upload-owning-org
bulk-upload-resume
bulk-upload-resume-v2
bulk-upload-sentence-case
cds-exports
chloe-1
chloe-2
chloe-3
chloe-4
chloe-5
cldc-1228-organisation-fixes-juris
cldc-1688-deactivation-affected-logs
cldc-1888-bulk-upload-duplicate-log-validation
cldc-2563-aws-production-pipeline-backup
cldc-2610-aws-migration-dry-run
cldc-2812-run-app-from-relative-url
cldc-2865-create-aws-only-pipeline
cldc-2865-enable-paas-maintenance-page
cldc-2865-remove-paas-from-prod-pipeline
cldc-875-sales-validations-shared-ownership-cash-deposit-amount
collection-resources-demo
cucumber-rails
data-export-jobs
deduplication-demo
demo-branch
demo-branch-0
demo-branch-08-01
demo-equations
demo-previous-period-edit-logs-closed
demo-previous-period-new-logs-closed
demo-previous-period-open
duplicate-bu-testing
duplicate-spike
empty
empty-pull-request
equation-before-demo
equation-demo-before
feature/CLDC-1057-ie-polyfills
fix-filter-service-bug
fix-order-export
fix-remove-attr-accessors-from-questions-in-cldc-1723
fix-test-dates
fix-test-on-main
flaky_tests_testing
full-import-optimisation
further-bulk-upload-year-fixes
homepage-not-in-crossover
jsbundling-with-webpack-modernizr
juris_katrina_test
key-issue
load-time-test
logs-status-on-log
main
merge-orgs-demo-2
merge-orgs-demo-branch
merge-test
more-bulk-upload-year
move-users-demo
new-core-ids
new-year-bulk-fixes
parallelize-tests
prod-pipeline-testing
quickfix/no_values_error
quickfix/providertype-mappings
quickfix/reasonpref-validation
remove-deprecated-config
revert-1378-CLDC-1917-startdate-validation
revert-2161-CLDC-3132-24-25-reason-for-vacancy-update
revert-2177-MoveInterviewQuestion
revert-CLDC-2310
revert-additional-export-fields
revert-s3-errors
review-app-deployment-test
review-app-for-23-24-mobbing
review-apps2
review-branch
rita-review
routes-to-csv
sales-collection-year-test-fixes
show-and-tell-28-3-24
show-and-tell-temp-branch
spike-a11y-testing-in-ci
test-6-months-ago
test-branch
test-branch-1
test-key-branch
test-merge-dpo-emails
test-review-app-access
testing-github-action-conditionals
update-rails-version
update-version-test
validations-copy
validations-spike
webinar-demo
v.0.3.25
v.0.3.26
v0.0.1
v0.0.2
v0.0.3
v0.0.4
v0.0.5
v0.0.6
v0.0.7
v0.0.8
v0.0.9
v0.1.0
v0.1.1
v0.1.10
v0.1.11
v0.1.12
v0.1.13
v0.1.14
v0.1.15
v0.1.16
v0.1.17
v0.1.18
v0.1.19
v0.1.2
v0.1.20
v0.1.21
v0.1.22
v0.1.23
v0.1.24
v0.1.25
v0.1.26
v0.1.27
v0.1.28
v0.1.29
v0.1.3
v0.1.30
v0.1.31
v0.1.4
v0.1.5
v0.1.6
v0.1.7
v0.1.8
v0.1.9
v0.2.0
v0.2.1
v0.2.10
v0.2.11
v0.2.12
v0.2.13
v0.2.14
v0.2.15
v0.2.16
v0.2.17
v0.2.18
v0.2.19
v0.2.2
v0.2.20
v0.2.21
v0.2.22
v0.2.23
v0.2.24
v0.2.25
v0.2.26
v0.2.27
v0.2.28
v0.2.29
v0.2.3
v0.2.30
v0.2.31
v0.2.32
v0.2.33
v0.2.34
v0.2.35
v0.2.36
v0.2.37
v0.2.38
v0.2.39
v0.2.4
v0.2.40
v0.2.5
v0.2.6
v0.2.7
v0.2.8
v0.2.9
v0.3.0
v0.3.1
v0.3.10
v0.3.11
v0.3.12
v0.3.13
v0.3.14
v0.3.15
v0.3.16
v0.3.17
v0.3.18
v0.3.19
v0.3.2
v0.3.20
v0.3.21
v0.3.22
v0.3.23
v0.3.24
v0.3.27
v0.3.28
v0.3.29
v0.3.3
v0.3.30
v0.3.31
v0.3.32
v0.3.33
v0.3.34
v0.3.35
v0.3.36
v0.3.37
v0.3.38
v0.3.39
v0.3.4
v0.3.40
v0.3.41
v0.3.42
v0.3.43
v0.3.44
v0.3.45
v0.3.46
v0.3.47
v0.3.48
v0.3.49
v0.3.5
v0.3.50
v0.3.51
v0.3.52
v0.3.53
v0.3.54
v0.3.55
v0.3.56
v0.3.57
v0.3.58
v0.3.59
v0.3.6
v0.3.60
v0.3.61
v0.3.62
v0.3.63
v0.3.64
v0.3.65
v0.3.66
v0.3.67
v0.3.68
v0.3.69
v0.3.7
v0.3.70
v0.3.71
v0.3.72
v0.3.73
v0.3.74
v0.3.75
v0.3.76
v0.3.77
v0.3.78
v0.3.79
v0.3.8
v0.3.80
v0.3.81
v0.3.82
v0.3.83
v0.3.84
v0.3.9
v0.4.0
v0.4.1
v0.4.10
v0.4.11
v0.4.12
v0.4.13
v0.4.14
v0.4.15
v0.4.16
v0.4.17
v0.4.18
v0.4.19
v0.4.2
v0.4.20
v0.4.21
v0.4.22
v0.4.23
v0.4.24
v0.4.25
v0.4.26
v0.4.27
v0.4.28
v0.4.29
v0.4.3
v0.4.30
v0.4.31
v0.4.32
v0.4.33
v0.4.34
v0.4.35
v0.4.36
v0.4.37
v0.4.38
v0.4.39
v0.4.4
v0.4.40
v0.4.41
v0.4.42
v0.4.43
v0.4.44
v0.4.45
v0.4.46
v0.4.47
v0.4.48
v0.4.49
v0.4.5
v0.4.50
v0.4.51
v0.4.52
v0.4.53
v0.4.54
v0.4.55
v0.4.56
v0.4.57
v0.4.58
v0.4.59
v0.4.6
v0.4.60
v0.4.61
v0.4.62
v0.4.63
v0.4.64
v0.4.65
v0.4.66
v0.4.67
v0.4.68
v0.4.69
v0.4.7
v0.4.70
v0.4.71
v0.4.72
v0.4.73
v0.4.74
v0.4.75
v0.4.76
v0.4.77
v0.4.78
v0.4.79
v0.4.8
v0.4.80
v0.4.81
v0.4.82
v0.4.83
v0.4.84
v0.4.85
v0.4.86
v0.4.87
v0.4.88
v0.4.89
v0.4.9
v0.4.90
v0.4.90.1
v0.4.91
${ noResults }
submit-social-housing-letti.../docs/adr/adr-009-form-routing-logic.md
934 B
934 B
parent |
---|
Architecture decisions |
009: Form routing logic
There are 2 ways you can think about form (page) routing logic:
- Based on the answer you give to a page you are navigated to some point in the form, i.e. a ‘jump to’
- Each question is considered sequentially and independently and we evaluate whether it should be shown or not
Our Form Definition DSL takes the second approach. This has a couple of advantages:
-
It makes the check answers pattern easier to code as you can ask each page directly: “Have the conditions for you to be shown been met?”, with approach 1, you would effectively have to traverse the full route branch to see if a particular page was shown for each page/question which adds complexity.
-
It makes it easier to look at the JSON and see at a glance what conditions will show or hide a page, which is closer to how the business logic is discussed and is easier to reason about.