Checkbox - smbc-digital/form-builder GitHub Wiki
Refer to Stockport Design System for styling information and reference images
Related
DSL properties
Property | Type | Required | Default Value | Description |
---|---|---|---|---|
QuestionId | string | ✔️ | ❌ | Unique question id allowed charatcers are [a-zA-Z] only |
Label | string | ✔️ | ❌ | Label associated with the search term |
Warning | string | ❌ | ❌ | Warning which appears above the input NOTE: Only use one of Warning, Hint or IAG |
Hint | string | ❌ | ❌ | Hint which appears above the input. If using Dynamic Lookup & Select Exactly, the Hint will be populated for you NOTE: Only use one of Warning, Hint or IAG |
IAG | string | ❌ | ❌ | Inset text to appear below the Label. NOTE: Only use one of Warning, Hint or IAG |
Optional | bool | ❌ | false | |
OptionalIf | Condition | ❌ | ❌ | A condition that can be used to determine if the element is optional by comparing it to an earlier answer |
CustomValidationMessage | string | ❌ | ❌ | Set a custom validation message for when user does not select an option. There is automatic validation there. If using Dynamic Lookup & Select Exactly, the Custom Validation Message will be populated for you |
ExclusiveCheckboxValidationMessage | string | ❌ | ❌ | Set a custom validation message for when javascript in not enabled while using an exclusive option. This is required when an option provided is exclusive |
TargetMapping | string | ❌ | ❌ | Used for custom object mapping when creating submit data |
StrongLabel | bool | ❌ | true | Labels associated to inputs are strong |
LegendAsH1 | bool | ❌ | false | Display the input's label as a h1 and not a legend (if this is set to true, HideTitle in the Page properties should also be set to true) |
Options | object | ✔️ | ❌ | Select options |
ConditionalElementId | string | ❌ | ❌ | Display the element with this id only when option is checked More info |
OrderOptionsAlphabetically | Boolean | ❌ | false | Default ordering as input order unless set to true |
SummaryLabel | string | ❌ | ❌ | Change the label associated with this input on the summary |
SelectExactly | int | ❌ | ❌ | The number of checkboxes that are required to be selected |
Checkbox examples
DS Json for single checkbox on a page:
{
"Title": "Your hobbies",
"HideTitle": true,
"PageSlug": "your-hobbies",
"HideBackButton": true,
"Elements": [
{
"Type": "Checkbox",
"Properties": {
"QuestionId": "whatHobbies",
"Label": "What are your hobbies?",
"LegendAsH1": true,
"Options": [
{
"Text": "Start writing a book",
"Value": "book"
},
{
"Text": "Take a photography course",
"Value": "photography"
}
]
}
}
]
}
DS Json for checkboxes:
{
"Type": "Checkbox",
"Properties": {
"QuestionId": "whatHobbies",
"Label": "What are your hobbies?",
"StrongLabel": true,
"Options": [
{
"Text": "Start writing a book",
"Value": "book"
},
{
"Text": "Take a photography course",
"Value": "photography"
}
]
}
}
DS Json for checkbox with conditonal element:
{
"Type": "Checkbox",
"Properties": {
"QuestionId": "whatHobbies",
"Label": "What are your hobbies?",
"Options": [
{
"Text": "Start writing a book",
"Value": "book"
},
{
"Text": "Take a photography course",
"Value": "photography",
"ConditionalElementId": "tellUsMore"
}
]
}
},
{
"Type": "TextBox",
"Properties": {
"QuestionId": "tellUsMore",
"Label": "Tell us more",
"IsConditionalElement": true
}
}
SelectExactly Example
Exactly four checkboxes out of eight are required:
{
"Type": "Checkbox",
"Properties": {
"Hint": "Select exactly four options",
"Label": "What are your hobbies?",
"CustomValidationMessage": "Select exactly four options",
"QuestionId": "optionalHobbies",
"LegendAsH1": true,
"Optional": false,
"SelectExactly": 4,
"Options": [
{
"Text": "Learn a foreign language",
"Value": "language",
"Hint": "Ie: Chinese, Russian, Romanian"
},
{
"Text": "Start writing a book",
"Value": "book"
},
{
"Text": "Take a photography course",
"Value": "photography"
},
{
"Text": "Make your own jewellery",
"Value": "jewellery"
},
{
"Text": "Bird Watching",
"Value": "bird watching"
},
{
"Text": "Cycling",
"Value": "cycling"
},
{
"Text": "Hill Walking",
"Value": "hill walking"
},
{
"Text": "Pottery Classes",
"Value": "pottery classes"
}
]
}
},
{
"Type": "Button",
"Properties": {
"ButtonId": "continue"
}
}
All possible properties example:
{
"Type": "Checkbox",
"Properties": {
"QuestionId": "whatHobbies",
"Hint": "You can select more than one option",
"Warning": "Please read carefully",
"StrongLabel": true,
"LegendAsH1": true,
"Label": "What are your hobbies?",
"Optional": true,
"IAG": "some additonal IAG text to appear in an inset",
"TargetMapping": "customer.Hobbies",
"CustomValidationMessage": "Select your favorite day",
"ExclusiveCheckboxValidationMessage": "Error message for exclusive checkbox option",
"Options": [
{
"Text": "Start writing a book",
"Value": "book"
},
{
"Text": "Take a photography course",
"Value": "photography",
"Hint": "You just need a phone or camera and passion for photography",
"Divider": "or",
"Exclusive": true
}
]
}
}