Fields
Date and time pickers
DatePicker, TimePicker and DateTimePicker share formats, limits, timezones and disabled dates.
use Xelqun\Forms\Components\DatePicker;
use Xelqun\Forms\Components\DateTimePicker;
use Xelqun\Forms\Components\TimePicker;
DatePicker::make('date_of_birth');
DateTimePicker::make('published_at');
TimePicker::make('opens_at');
Formats
format() sets how the value is stored, and displayFormat() how it's shown. Both use PHP date tokens.
DatePicker::make('date_of_birth')
->format('Y-m-d')
->displayFormat('d/m/Y');
Limits
DatePicker::make('starts_on')
->minDate(now())
->maxDate(now()->addYear());
disabledDates() lists days that can't be chosen. The server refuses them too.
DatePicker::make('delivery_on')->disabledDates(['2026-12-25', '2026-12-26']);
Time
TimePicker::make('opens_at')
->seconds(false)
->hoursStep(2)
->minutesStep(15);
secondsStep() works the same way.
Timezones
timezone() shows the value in this timezone. It's always stored in the app's.
DateTimePicker::make('published_at')->timezone('Asia/Manila');
Comparing dates
The usual rules take another field's name or a date.
DatePicker::make('starts_on')->required();
DatePicker::make('ends_on')->after('starts_on');