OtpInput
The OTP input is used for MFA procedure of authenticating users by a one-time password.
Usage
Basic
Basic usage examples of BitOtpInput, including different lengths, disabled state, auto-shift, and autofocus.
Basic
Disabled
Length = 4
AutoShift
AutoFocus
Label
Label can express the title of the otp inputs.
Label:
LabelTemplate:
Type
Set different input types for the OTP input: text, number, and password.
Directions
Demonstrating various layout directions for BitOtpInput: default, reversed, vertical, and reversed vertical.
Binding
Examples of one-way and two-way data binding with BitOtpInput.
Events
Handle various events in BitOtpInput, including change, fill, focus, input, keydown, and paste events.
OnChange value:
OnFill value:
Focus type:
Input index:
Focus type:
Input index:
Value:
Input index:
Key & Code: [] []
Input index:
Focus type:
Input index:
Validation
Use data annotations to validate the BitOtpInput component in a form submission scenario.
Size
Varying sizes for inputs tailored to meet diverse design needs, ensuring flexibility and visual hierarchy within your interface.
Style & Class
Explore styling and class customization for BitOtpInput, including component styles, custom classes, and detailed styles.
Component's Style & Class:
Styles & Classes:
RTL
Use BitOtpInput in right-to-left (RTL).
API
BitOtpInput parameters
Name |
Type |
Default value |
Description |
|---|---|---|---|
| AutoFocus | bool | false | If true, the first input is auto focused. |
| AutoShift | bool | false | Enables auto shifting the indexes while clearing the inputs using Delete or Backspace. |
| Classes | BitOtpInputClassStyles? | null | Custom CSS classes for different parts of the BitOtpInput. |
| Label | string? | null | Label displayed above the inputs. |
| LabelTemplate | RenderFragment? | null | Custom template for the label displayed above the inputs. |
| Length | int | 5 | Length of the OTP or number of the inputs. |
| OnFill | EventCallback<string?> | Callback for when all of the inputs are filled. | |
| OnFocusIn | EventCallback<FocusEventArgs> | onfocusin event callback for each input. | |
| OnFocusOut | EventCallback<FocusEventArgs> | onfocusout event callback for each input. | |
| OnInput | EventCallback<ChangeEventArgs> | oninput event callback for each input. | |
| OnKeyDown | EventCallback<KeyboardEventArgs> | onkeydown event callback for each input. | |
| OnPaste | EventCallback<ClipboardEventArgs> | onpaste event callback for each input. | |
| Reversed | bool | false | Defines whether to render inputs in the opposite direction. |
| Size | BitSize? | null | The size of the inputs. |
| Styles | BitOtpInputClassStyles? | null | Custom CSS styles for different parts of the BitOtpInput. |
| Type | BitInputType? | null | Type of the inputs. |
| Vertical | bool | false | Defines whether to render inputs vertically. |
BitOtpInput public members
Name |
Type |
Default value |
Description |
|---|---|---|---|
| InputElements | ElementReference[] | The ElementReferences to the input elements of the BitOtpInput. | |
| FocusAsync | ValueTask | Gives focus to a specific input element of the BitOtpInput. |
BitInputBase parameters
Name |
Type |
Default value |
Description |
|---|---|---|---|
| DisplayName | string? | null | Gets or sets the display name for this field. |
| InputHtmlAttributes | IReadOnlyDictionary<string, object>? | null | Gets or sets a collection of additional attributes that will be applied to the created element. |
| Name | string? | null | Gets or sets the name of the element. Allows access by name from the associated form. |
| NoValidate | bool | false | Disables the validation of the input. |
| OnChange | EventCallback<TValue?> | Callback for when the input value changes. | |
| ReadOnly | bool | false | Makes the input read-only. |
| Required | bool | false | Makes the input required. |
| Value | TValue? | null | Gets or sets the value of the input. This should be used with two-way binding. |
BitInputBase public members
Name |
Type |
Default value |
Description |
|---|---|---|---|
| InputElement | ElementReference | The ElementReference of the input element. | |
| FocusAsync() | () => ValueTask | Gives focus to the input element. | |
| FocusAsync(bool preventScroll) | (bool preventScroll) => ValueTask | Gives focus to the input element. |
BitComponentBase parameters
Name |
Type |
Default value |
Description |
|---|---|---|---|
| AriaLabel | string? | null | The aria-label of the control for the benefit of screen readers. |
| Class | string? | null | Custom CSS class for the root element of the component. |
| Dir | BitDir? | null | Determines the component direction. |
| HtmlAttributes | Dictionary<string, object> | new Dictionary<string, object>() | Capture and render additional attributes in addition to the component's parameters. |
| Id | string? | null | Custom id attribute for the root element. if null the UniqueId will be used instead. |
| IsEnabled | bool | true | Whether or not the component is enabled. |
| Style | string? | null | Custom CSS style for the root element of the component. |
| Visibility | BitVisibility | BitVisibility.Visible | Whether the component is visible, hidden or collapsed. |
BitComponentBase public members
Name |
Type |
Default value |
Description |
|---|---|---|---|
| UniqueId | Guid | Guid.NewGuid() | The readonly unique id of the root element. it will be assigned to a new Guid at component instance construction. |
| RootElement | ElementReference | The ElementReference of the root element. |
BitOtpInputClassStyles properties
Name |
Type |
Default value |
Description |
|---|---|---|---|
| Root | string? | null | Custom CSS classes/styles for the root element of the otp input. |
| Label | string? | null | Custom CSS classes/styles for the label of the otp input. |
| InputsWrapper | string? | null | Custom CSS classes/styles for the wrapper element of the inputs. |
| Input | string? | null | Custom CSS classes/styles for each input in otp input. |
| Focused | string? | null | Custom CSS classes/styles for the focused input in otp input. |
BitSize enum
Name |
Value |
Description |
|---|---|---|
| Small | 0 | The small size. |
| Medium | 1 | The medium size. |
| Large | 2 | The large size. |
BitInputType enum
Name |
Value |
Description |
|---|---|---|
| Text | 0 | The input expects text characters. |
| Password | 1 | The input expects password characters. |
| Number | 2 | The input expects number characters. |
| 3 | The input expects email characters. | |
| Tel | 4 | The input expects tel characters. |
| Url | 5 | The input expects url characters. |
BitVisibility enum
Name |
Value |
Description |
|---|---|---|
| Visible | 0 | The content of the component is visible. |
| Hidden | 1 | The content of the component is hidden, but the space it takes on the page remains (visibility:hidden). |
| Collapsed | 2 | The component is hidden (display:none). |
BitDir enum
Name |
Value |
Description |
|---|---|---|
| Ltr | 0 | Ltr (left to right) is to be used for languages that are written from the left to the right (like English). |
| Rtl | 1 | Rtl (right to left) is to be used for languages that are written from the right to the left (like Arabic). |
| Auto | 2 | Auto lets the user agent decide. It uses a basic algorithm as it parses the characters inside the element until it finds a character with a strong directionality, then applies that directionality to the whole element. |
Feedback
You can give us your feedback through our GitHub repo by filing a new Issue or starting a new Discussion.
Or you can review / edit this page on GitHub.
Or you can review / edit this component on GitHub.
- On this page