Forms are generally used to retrieve different types of qualitative and quantitative data from user input through controls such as text fields, radio buttons, checkboxes, sliders, buttons, or any type of custom control used to collect data input. Form- and field-level validation, error and status messaging, and issues around contextual help within forms may also fall into this category
A form usually contains labels which describe it's various input fields and controls. In the case of complex concepts, contextual help at the control-, field-, or form-level may be provided to assist users. A form may consist of a single label and control, or may be an extensive set of inputs.
The layout of a form is just as important as the content it contains. Users must be able to easily determine which inputs are required or optional, which labels or messaging goes with which field or control, and how to properly complete each field. Grouping, ordering, and use of space are very important in form design.
Validation of the input must be carried out prior to the data being submitted to the application so that the user can change their input. (See validation, input-fields)
Form also refers to physical questionnaires on paper in which to fill in data by writing or printing.