occupation
Base v1 · src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Forms/occupation_base_v1_schema.json
Scope
Prefill from journey data
The service uses the first non-empty source. Use a dot path beginning with the source step id.
Options (enum)EMPLOYMENT occupation.sourceOfIncome.employmentBUSINESS occupation.sourceOfIncome.businessREMITTANCE occupation.sourceOfIncome.remittanceOTHER occupation.sourceOfIncome.other
Validationrequired
Error message keys (i18n)
Prefill from journey data
The service uses the first non-empty source. Use a dot path beginning with the source step id.
Options (enum)EMPLOYED occupation.employmentStatus.employedSELF_EMPLOYED occupation.employmentStatus.selfEmployedUNEMPLOYED occupation.employmentStatus.unemployed
Validationrequired
Error message keys (i18n)
Prefill from journey data
The service uses the first non-empty source. Use a dot path beginning with the source step id.
Options (enum)
Validationrequired
Error message keys (i18n)
Live preview
Renders as the web app would. Interactive — pick values to exercise visibility rules and validation.
occupation
Occupation
Enter your occupation and sources of income.
Source of income
4 options
occupation.sourceOfIncome.helpText
Employment status
3 options
occupation.employmentStatus.tz.helpText
Profession
occupation.profession.tz.helpText
Blocking the CTA (3)
primarySourceOfIncome— Source of income is requiredemploymentStatus— Employment status is required.profession— Profession is required
Generated change (2 files)
src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Patches/TZ/occupation_tz_v1_schema_patch.json
[
{
"op": "remove",
"path": "/x-crossFieldRules"
},
{
"op": "replace",
"path": "/required/1",
"value": "employmentStatus"
},
{
"op": "add",
"path": "/required/2",
"value": "profession"
},
{
"op": "remove",
"path": "/properties/secondaryMonthlyIncome"
},
{
"op": "remove",
"path": "/properties/secondarySourceOfIncome"
},
{
"op": "remove",
"path": "/properties/primaryMonthlyIncome"
},
{
"op": "remove",
"path": "/properties/primarySourceOfIncome/x-enumLabels/NONE"
},
{
"op": "remove",
"path": "/properties/primarySourceOfIncome/x-enumLabels/SELF_EMPLOYED"
},
{
"op": "remove",
"path": "/properties/primarySourceOfIncome/x-enumLabels/EMPLOYED_SALARIED"
},
{
"op": "add",
"path": "/properties/primarySourceOfIncome/x-enumLabels/EMPLOYMENT",
"value": "occupation.sourceOfIncome.employment"
},
{
"op": "add",
"path": "/properties/primarySourceOfIncome/x-enumLabels/BUSINESS",
"value": "occupation.sourceOfIncome.business"
},
{
"op": "add",
"path": "/properties/primarySourceOfIncome/x-enumLabels/REMITTANCE",
"value": "occupation.sourceOfIncome.remittance"
},
{
"op": "add",
"path": "/properties/primarySourceOfIncome/x-enumLabels/OTHER",
"value": "occupation.sourceOfIncome.other"
},
{
"op": "replace",
"path": "/properties/primarySourceOfIncome/enum/2",
"value": "REMITTANCE"
},
{
"op": "replace",
"path": "/properties/primarySourceOfIncome/enum/1",
"value": "BUSINESS"
},
{
"op": "replace",
"path": "/properties/primarySourceOfIncome/enum/0",
"value": "EMPLOYMENT"
},
{
"op": "add",
"path": "/properties/primarySourceOfIncome/enum/3",
"value": "OTHER"
},
{
"op": "add",
"path": "/properties/employmentStatus",
"value": {
"type": "string",
"enum": [
"EMPLOYED",
"SELF_EMPLOYED",
"UNEMPLOYED"
],
"x-labelKey": "occupation.employmentStatus.label",
"x-placeholderKey": "occupation.employmentStatus.placeholder",
"x-popoverTitleKey": "occupation.employmentStatus.popoverTitle.label",
"x-enumLabels": {
"EMPLOYED": "occupation.employmentStatus.employed",
"SELF_EMPLOYED": "occupation.employmentStatus.selfEmployed",
"UNEMPLOYED": "occupation.employmentStatus.unemployed"
},
"x-errorMessages": {
"type": "occupation.error.employmentStatus.type",
"enum": "occupation.error.employmentStatus.enum"
}
}
},
{
"op": "add",
"path": "/properties/profession",
"value": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"x-labelKey": "occupation.profession.label",
"x-placeholderKey": "occupation.profession.placeholder",
"x-errorMessages": {
"type": "occupation.error.profession.type",
"required": "occupation.error.profession.required",
"minLength": "occupation.error.profession.minLength",
"maxLength": "occupation.error.profession.maxLength"
}
}
}
]src/Modules/FormEngine/OmniDos.FormEngine.Infra/SeedData/Patches/TZ/occupation_tz_v1_ui_patch.json
[
{
"op": "remove",
"path": "/widgets/secondaryMonthlyIncome"
},
{
"op": "remove",
"path": "/widgets/secondarySourceOfIncome"
},
{
"op": "remove",
"path": "/widgets/primaryMonthlyIncome"
},
{
"op": "add",
"path": "/widgets/employmentStatus",
"value": "selector"
},
{
"op": "add",
"path": "/widgets/profession",
"value": "text"
},
{
"op": "remove",
"path": "/layout/1"
},
{
"op": "replace",
"path": "/layout/0/fields/1/0",
"value": "employmentStatus"
},
{
"op": "add",
"path": "/layout/0/fields/2",
"value": [
"profession"
]
},
{
"op": "remove",
"path": "/layout/0/dividerHeight"
},
{
"op": "remove",
"path": "/layout/0/dividerType"
},
{
"op": "remove",
"path": "/layout/0/hasDivider"
},
{
"op": "remove",
"path": "/layout/0/x-sectionTitleDivider"
},
{
"op": "remove",
"path": "/layout/0/x-sectionTitle"
},
{
"op": "add",
"path": "/x-pageSubtitle",
"value": "occupation.pageSubtitle"
},
{
"op": "add",
"path": "/helpText",
"value": {
"primarySourceOfIncome": "occupation.sourceOfIncome.helpText",
"employmentStatus": "occupation.employmentStatus.tz.helpText",
"profession": "occupation.profession.tz.helpText"
}
}
] Downloads a zip to apply to a clone and raise as a PR.