ant-design/docs/pattern/form.en-US.md
henryv0 2356333c54 Updates Pattern docs (English) (#7902)
* Makes grammatical and typo fixes to the React Docs.

* Fixes some spelling and grammar in Pattern docs.

* Fixes merge conflict. Updates Pattern docs.
2017-10-16 21:17:42 +08:00

7.9 KiB

order title
2 Form

As an important interface to obtain user input, forms play the important role of matching answers to questions.

When designing a form, it's recommended to:

  1. Make sure users know what is required to enter and why.

Use sample language as label for ordinary users and professional terms for experts. If sensitive information (for example ID card number, mobile phone number) is required, explain why.

  1. Provide rich context to help users complete the form.

Using "proper default value", "structured format", "tooltip" and "reminder" are practical for describing such context.

  1. Be error-sensitive and fault-tolerant.

Be error-sensitive means giving feedback to users quickly through a variety of validation rules of user input. If the validation starts only after a form is submitted, it would be too late. Being fault-tolerant means it should be allowed to use different kinds of formats as well as syntax. For example, if a user types in some spaces into a phone number input box, the system should delete those spaces automatically instead of telling the user to correct them.

  1. Don't ask unnecessary questions.

Content

Example of a form

A form usually consists of 4 parts:

  1. Label
  2. Input box
  3. Validation feedback
  4. Action

Note: * indicates that the input is required.

Interactions

Gap filling input

Example of gap filling input

Gap filling input usually appears in a descriptive context to help users understand the current situation and provide information correctly.

Combined input

Example of combined input

When two input boxes have strong correlation, they can be combined together so as to save some space.

Alignment

Example of alignment

When designing a form, button groups should be aligned to the left of the input boxes.

Disabled main button

When there are just a few (less than 3) input boxes in a form, "submit" button or other main buttons should be disabled if a user has not yet filled in all required input boxes. However, when there are too many input boxes (more than 5), do not disable those main buttons.


main button is disabled when there are not enough characters main button is enabled when there are enough characters

When there are just a few input boxes, users can see feedback once they type in something and thus the rule is easy to understand.


Don't use disabled main button

When there are many input boxes (especially when required input boxes are altogether with optional ones), the logic of feedback can be very complicated. Thus, disabling main buttons may cause confusion.

Structured format

Example of structured format

The structured format can be used if users are familiar with the input content and the system doesn't accept any deviation from the desired format.

Tooltip & reminder

Example of tooltip Example of reminder

Use a tooltip if a brief input label may cause confusion while you still want to keep the label text to be short.

Use a reminder if you want users to pay attention to the format or purpose of an input box. A reminder will disappear once there is something typed in the input box, so it should be used only when users are familiar with the content.

Password input box

Example of password input box

Password input box provides real time feedback on password strength and validity. It's quite applicable to a registration page.

Validation

<img class="preview-img" align="right" description="When a "submit" button is clicked, the system will deal with user inputs and display feedback (the number of errors and the types of errors) on the page." src="https://zos.alipayobjects.com/rmsportal/xTtVSREbASRMstTggVGD.png">

Use different validation rules and a variety of feedback to help users correct errors before they click on a "submit" button.

Character counting box

Example of word counting

A character counting box can show the current number of characters and checks if this number exceeds the limit.

Format

Margin

Example of margin between inputs

A typical example of using margin between inputs.

Width

Good Bad

If the maximum length of an input content is known, it's recommended to define the input width according to the maximum length.


Alignment

There are both advantages and disadvantages for any particular alignment. Thus, you need to be clear about your purposes (if you want to speed up or slow down a user) and the limitations (screen width restrictions, problems of localization, etc.) before choosing one of those alignments.


Right alignment (recommended)

Right alignment (recommended)

  • Advantage: saves vertical space.
  • Disadvantages: reduces readability; reduces flexibility of the input length
  • When to use: you want to save more vertical space and speed up users for filling a form.

Top alignment

Top alignment

  • Advantages: high readability; high flexibility of the label length.
  • Disadvantages: takes a lot of vertical space.
  • When to use: you want users to finish filling the form quickly.

Left alignment

Left alignment

  • Advantages: easy to read and saves vertical space.
  • Disadvantages: slows down users and reduces flexibility for the input length.
  • When to use: you want to slow down users so that they can take more considerations when filling a form.