Forms

Examples and usage guidelines for form control styles, layout options, and custom components for creating a wide variety of forms.

On this page

Overview

Be sure to use an appropriate type attribute on all inputs (e.g., email for email address or number for numerical information) to take advantage of newer input controls like email verification, number selection, and more.

Here's a quick example to demonstrate Bootstrap's form styles. Keep reading for documentation on required classes, form layout, and more.

We'll never share your email with anyone else.
Email
email
Password
Checked
false
vue

Form text

Block-level or inline-level form text can be created using FormText.

Form text below inputs can be styled with FormText.

If a block-level element will be used, a top margin is added for easy spacing from the inputs above.

Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.
vue

Inline text can use any typical inline HTML element (be it a <span>, <small>, or something else) with nothing more than the .form-text class.

be 8-20 characters long.
vue

Disabled forms

Add the disabled attribute on an input to prevent user interactions and make it appear lighter.

vue

Add the disabled attribute to a <fieldset> to disable all the controls within.

Browsers treat all native form controls (FormInput, FormSelect, and Button elements) inside a` <fieldset disabled>as disabled, preventing both keyboard and mouse interactions on them.

However, if your form also includes custom button-like elements such as <a class="btn btn-*"></a>, these will only be given a style of pointer-events: none, meaning they are still focusable and operable using the keyboard.

In this case, you must manually modify these controls by adding tabindex="-1" to prevent them from receiving focus and aria-disabled="disabled" to signal their state to assistive technologies.

Disabled fieldset example
vue
On this page