Input Time Picker
A text input with an integrated time-picker dropdown. Supports typed input, click-to-pick columns, configurable format, minute step, and range validation.
Default (24-hour)
Type a time or click the clock icon
razor
<InputTimePicker Label="Start time"
@bind-SelectedTime="defaultTime"
Hint="24-hour format, any minute precision" />
@code {
private TimeOnly? defaultTime;
}12-hour format with AM/PM
Three-column dropdown adds a period selector
Selected: 02:30 PM
razor
<InputTimePicker Label="Appointment time"
Format="12h"
@bind-SelectedTime="twelveHourTime" />Minute step variants
MinuteStep controls the dropdown column; typed input is unrestricted
razor
<InputTimePicker Label="Step 5" MinuteStep="5" @bind-SelectedTime="step5Time" />
<InputTimePicker Label="Step 10" MinuteStep="10" @bind-SelectedTime="step10Time" />
<InputTimePicker Label="Step 15" MinuteStep="15" @bind-SelectedTime="step15Time" />
<InputTimePicker Label="Step 30" MinuteStep="30" @bind-SelectedTime="step30Time" />Required
Required asterisk and validation message when empty
razor
<InputTimePicker Label="Shift start"
Required="true"
HasError="true"
ErrorMessage="Time is required"
@bind-SelectedTime="requiredTime" />Range validation (business hours 09:00–17:00)
Out-of-range minutes/hours are disabled in the dropdown; typed values surface an auto-generated error
Selected: 10:30
razor
<InputTimePicker Label="Meeting time"
MinTime="@(new TimeOnly(9, 0))"
MaxTime="@(new TimeOnly(17, 0))"
@bind-SelectedTime="rangeTime"
Hint="Pick a time during business hours" />External error message
Custom ErrorMessage takes precedence over auto-generated messages
razor
<InputTimePicker Label="Departure"
ErrorMessage="Pick a time after your arrival"
@bind-SelectedTime="customErrorTime" />With label, hint, and help
All chrome enabled
razor
<InputTimePicker Label="Reminder"
Required="true"
ShowHelp="true"
HelpText="We'll send a notification at this time"
Hint="Defaults to your local timezone"
@bind-SelectedTime="fullChromeTime" />Disabled
Input and toggle are locked
razor
<InputTimePicker Label="Locked time"
Disabled="true"
SelectedTime="@(new TimeOnly(14, 30))" />Paired with InputDatePicker
Compose a date+time field by placing two inputs side by side
Selected: May 17, 2026 at 09:00 AM
razor
<div style="display: grid; grid-template-columns: 2fr 1fr; gap: 1rem;">
<InputDatePicker Label="Date" @bind-SelectedDate="pairedDate" />
<InputTimePicker Label="Time" Format="12h" MinuteStep="15" @bind-SelectedTime="pairedTime" />
</div>