Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 18 Next »

Lead:  Liav Nadler  ONGOING 

Issues to cover

  • Inputs

    • Default values

    • Field dependencies

    • Mandatory indicators

  • Validations

    • Invalid values

    • Blank mandatory fields

    • Leaving the page without saving

  • Grouping fields

  • Form-level elements

    • Status tags

    • Messages

  • Action buttons

    • Top for form-level

    • Bottom for widget-level, sticky

    • Distances between buttons (if more than 2)

  • Guidance

    • Form instructions

    • Field help

  • Autosave

  • Preventing users from selecting labels

Description

  • A form is a collection of input controls, allowing users to enter data that is then sent to a server for processing.

  • Forms may appear in either workspaces, wizards or dialog popups.

  • This page will focus mainly on forms within workspaces, although many of the guidelines are common for all forms.

Basic Flow

  • There are two basic form types:

    • Configuration forms - allowing users to change predefined settings (e.g. service level indicators).

    • Creation forms - allowing users to create new entities (e.g. employee evaluations). In this case, most of the fields in the form will be blank by default.

  • Some forms consists of both configuration and creation elements.

  • The user can fill in the fields in any order before saving or applying the form.

  • After filling in a form, clicking the Save button (in configuration pages) or the main button in dialogs triggers a server-level validation (see below).

Usage & Behavior

General guidelines

Structure

Placement and Positioning

<<For example, in popups and toast messages>>

Labels above or to the left of input fields.

Default State

In configuration forms it is common the most or all fields have default values.

Content

<<Including labels, microcopy, number of items, order of items etc.>>

Internal Logic

  • In some cases, form fields may be dependent on other fields.

States

  • Forms can have 3 states:

    • Idle - this is the default for creation forms. Exiting the form without changing any field will remove

    • Dirty state - a form switches to this state after making any chang

    • Saved -

  • When first opening a configuration form it is defined as saved. Updating any of the fields, switches it to dirty state.

  • On dirty state the user can either save (or apply) the form

Interaction

  • For control-specific interactions see the documentation of that control.

Validations and errors

  • There are two types of validations related to forms: field validation and form validation.

Field Validation

  • This category includes all validations that are related to specific inputs, including text fields, text areas, sets of checkboxes, date and time pickers, etc.

  • The most common input-level errors are:

    • Invalid data, including invalid characters, invalid format and out-of-range values.

    • Missing mandatory, 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 occurs when a field looses focus (“onblur”).

  • When invalid data or missing mandatory field 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.

  • For more information, please refer to LUX Field Validation page.

Form Validation

  • A form cannot be saved / submitted if one or more of its fields are in error state.

  • Here is a typical saving flow:

    • When first entering a form, the Save button is disabled.

    • On updating a field, the Save button becomes enabled.

    • In case of a field error the Save button becomes disabled. An additional form-level indication may appear. Only after the error was resolved, the Save button is enabled again.

    • After clicking the Save button, it becomes disabled again.

  • This flow is also relevant when the form is in a dialog popup. In this case, the cancel button is always enabled.

Saving “dirty data” in local storage

  • 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 errors

  • In case the user tries to navigate to another area of the form, while the current area has errors, a message popup will appear, allowing him to either continue, while loosing all the updated data, or cancel.

Edge case: exiting an updated form

  • In case the user tries to navigate away from a form after updating one or more fields, a message popup will appear, allowing her to either save and exit, exit without saving, or cancel.

Best practices

<<e.g. Slider should display a label its on>>

Use:

  • <…>

  • <…>

Don’t use

  • <…>

  • <…>

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
Use this
>>

<<Screen with 200 width>>

Code

<<a box containing the code - discuss with Femi>>

  • No labels