Input group

Easily extend form controls by adding text, buttons, or button groups on either side of textual inputs, custom selects, and custom file inputs.

On this page

Basic example

Place one add-on or button on either side of an input. You may also place one on both sides of an input. Remember to place FormLabels outside the input group.

@
@example.com
https://example.com/users/
$.00
@
With textarea
vue

Wrapping

Input groups wrap by default via wrap = wrap in order to accommodate custom form field validation within an input group. You may disable this with wrap="nowrap".

@
vue

Sizing

Add the relative form sizing classes to the BInputGroup itself and contents within will automatically resize—no need for repeating the form control size classes on each element.

Sizing on the individual input group elements isn't supported.

Small
Default
Large
vue

Checkboxes and radios

Place any checkbox or radio option within an input group's addon instead of text.

We recommend adding margin="t-0" to the FormCheckInput when there's no visible text next to the input.

vue

Multiple inputs

While multiple FormInputs are supported visually, validation styles are only available for input groups with a single FormInput.

First and last name
vue

Multiple addons

Multiple add-ons are supported and can be mixed with checkbox and radio input versions.

$0.00
$0.00
vue

Button addons

vue

Buttons with dropdowns

Segmented buttons

Custom forms

Input groups include support for custom selects and custom file inputs. Browser default versions of these are not supported.

Custom select

b-options
b-options
vue

Custom file input

vue
On this page