Lead: Liav Nadler
Issues to cover
...
Form-level elements
Status tags
Messages
...
Action buttons
Distances between buttons (if more than 2)
...
Form instructions
Field help
Ask Femi about web SDK form guidance
...
Autosave
Description
A form is a collection of input fields, allowing users to enter data that is then sent for further processing.
Forms may appear in workspaces, dialog popups, popovers,wizards,filter panes, details panes and cards.
...
Where possible, field labels will appear above the input field (for example, above a text field or a set of radio buttons).
Where relevant, a red mandatory indicator (*) will show next to the label.
Where relevant, a help icon will appear next to the label (aligned to the right side of the field, if possible).
A collection of related fields can be grouped into a section. For example, fields like Email and Phone can be found under a section called Contact Information.
For forms with inline inputs, see Inline input.
The Action Area
The action area will always be visible:
In case the form takes up the entire workspace, the action area will appear at the top of the page (see examples below).
In any other case, the action area will appear below the form:
In dialog popups, popovers,wizards,filter panes, details panes and cards, the action area will appear at the bottom of the container.
In workspaces:
If the form does not exceed the height of its container, the action area will appear directly below the last field of the form.
If the form exceeds the height of its container, the action area will stick to the bottom of the container, allowing users to scroll the form above it. Add example
Buttons for main actions will be aligned to the right. Buttons for secondary actions, such as Clear or Reset will be aligned to the left.
States
Forms can have 3 states:
Idle - the default state when entering a form. In this state, exiting the form will not save it.
Edited state - the state of a form after making changes but before clicking the Save button. In this state, exiting the form will trigger a confirmation message (see below).
Saved - the state of a form after clicking the Save button.
...
Clicking the submit button sends the data for further processing.
Clicking the Cancel button will close the dialog popup / popover, or direct the user to the original page, without saving the form.
Validations and errors
There are two types of validations related to forms: field validation and form validation.
Field validations related to specific inputs, see Field Validation.
Field Validation
The most common input-level errors are:
Invalid input, including invalid characters, invalid format and out-of-range data.
Missing mandatory input, where a required field was left blank.
Field validations for invalid characters or invalid format occurs while typing (“onkeydown”).
Field validations for out of range data or missing mandatory input occurs when a field looses focus (“onblur”).
When invalid input or missing mandatory input was detected, the field changes its status to error.
In some cases, the entered value is valid, but may call for a special attention (for example: a very large value). In this case, the field will change its status to warning, but will not prevent the form from being submitted.
Form Validation
For input-specific validations see Field Validation.
A form cannot be saved or submitted if one or more of its fields are in error state. Here is a typical flow:
When entering a form, the submit button is disabled (the Cancel button is always enabled).
On updating any field, the submit button becomes enabled.
In case of an input error, the submit button becomes disabled (an additional form-level indication may appear). Only after the error was resolved, it becomes enabled again.
After clicking the submit button:
it becomes disabled,
a toast message appears, indicating that the form was saved.
This flow is similar where the form is in a dialog popup, but in this case, clicking the submit button closes the popup.
...
In case a single Save button applies to multiple areas (tabs, master items in a master-detail layout, etc.), updated values will be saved in a local storage even before clicking the Save button.
In this case, if the user updated a value in the first area, navigated to another area and went back to the first area, all updated values will remain intact.
Edge case: navigating to another area of the form while some fields has errorsAttempting to leave a form with unsaved changes
In case the user tries to navigate to another area of the form, while the current area has errorsaway from a form after updating one or more fields, a message popup will appear, allowing him her to either continue, while loosing all the updated data, or cancel.
...
keep editing or leave.
In this case, leaving the page will not save the changes.
...
Edge case: exiting an updated formAttempting to leave a form while there are errors
In case the user tries to navigate away from a form after updating one or more fieldsthe form while there are errors, a message popup will appear, allowing her to either save and exit, exit without saving, or cancel.
...
keep editing, or leave.
In this case, leaving the page reverts all fields their last valid values.
...
Best practices
Use for:
Creating or updating entities (e.g., users, roles, channels).
Configuration pages (e.g., services level indicators, storage retention periods).
Don’t use:
When?
General
...
In case of large number of fields, group related fields together, providing a clear title to each group.
...
Provide a clear navigation order:
By default, form fields should form one column.
Closely related fields (e.g., First name and Last name) can appear side by side.
A collection of related fields should be grouped under a clear title.
Make sure that label texts are not selectable.
Issues to cover
Form-level elements
Status tags
Messages
Action buttons
Distances between buttons (if more than 2)
Guidance
Form instructions
Field help
Ask Femi about web SDK form guidance
Autosave
Examples
Update screen |
Accessibility compliance
Unless otherwise specified, see our general compliance information in Fundamentals - Accessibility
text highlight when using a keyboard + using arrows when in edit mode (left, up or home to set the insertion point at the beginning; right, down or end to set it at the end).
Design
Zeplin link | Screen thumbnail |
---|---|
<<Short Zeplin link. You | <<Screen with 200 width>> |
...