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.
2. Provide rich context to help users complete the form.
Using "proper default value", "structured format", "tooltip" and "reminder" are practical for describing such context.
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.
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.
<br>
<imgclass="preview-img"align="right"alt="main button is disabled when there are not enough characters"src="https://os.alipayobjects.com/rmsportal/VabHKlbouFxSQXz.png">
<imgclass="preview-img"align="right"alt="main button is enabled when there are enough characters"src="https://os.alipayobjects.com/rmsportal/usdFxJmWDawqUuq.png">
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.
<imgclass="preview-img"align="right"alt="Example of structured format"src="https://os.alipayobjects.com/rmsportal/SQgGfreRAqPZPsm.png">
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
<imgclass="preview-img inline"align="right"alt="Example of tooltip"description="when an input box is focused, the tooltip will appear until the input box loses focus again"src="https://os.alipayobjects.com/rmsportal/cTlmdEprGSzMZfs.png">
<imgclass="preview-img inline"align="right"alt="Example of reminder"description="when an input box is focused, the reminder will appear until a user types in at least one character"src="https://os.alipayobjects.com/rmsportal/QPhvLWfMbLTvjRw.png">
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.
<imgclass="preview-img inline"align="right"description="Validation in real time"src="https://os.alipayobjects.com/rmsportal/urCdIJFuNYCenqH.png">
<imgclass="preview-img inline"align="right"description="Validation after losing focus"src="https://os.alipayobjects.com/rmsportal/KkcSBkbTJirIxCw.png">
<imgclass="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">
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.