PIN Input

MokaPinInput renders a row of individual digit boxes for numeric PIN or code entry. Each box auto-advances on input and supports backspace navigation. Values can be masked (shown as dots) for security.

Parameters

Name Type Default Description
Value string "" Current PIN value (bindable via @bind-Value)
ValueChanged EventCallback<string> -- Fires when the value changes
Length int 4 Number of digit boxes
Masked bool true Displays dots instead of digits
Disabled bool false Disables all inputs
Size MokaSize Md Input size: Sm, Md, Lg
OnComplete EventCallback<string> -- Fires when all digits are entered
Class string? -- Additional CSS classes
Style string? -- Additional inline styles

Basic 4-Digit PIN

<MokaPinInput @bind-Value="@_pin" />

@code {
    private string _pin = "";
}

6-Digit Code

<MokaPinInput @bind-Value="@_pin6" Length="6" />

@code {
    private string _pin6 = "";
}

Unmasked

<MokaPinInput @bind-Value="@_pinVisible" Masked="false" />

@code {
    private string _pinVisible = "";
}

Disabled

<MokaPinInput Value="12" Length="4" Disabled="true" />

With Completion Callback

<MokaPinInput @bind-Value="@_pinCb" OnComplete="HandleComplete" />
<MokaText Size="MokaSize.Sm" Style="margin-top:var(--moka-spacing-sm)">@_pinStatus</MokaText>

@code {
    private string _pinCb = "";
    private string _pinStatus = "Enter all 4 digits...";

    private void HandleComplete(string pin)
    {
        _pinStatus = $"PIN entered: {pin}";
    }
}
Last updated: 2026-04-11
Was this page helpful?