InputDatePickerFormField constructor
- Key? key,
- DateTime? initialDate,
- required DateTime firstDate,
- required DateTime lastDate,
- ValueChanged<
DateTime> ? onDateSubmitted, - ValueChanged<
DateTime> ? onDateSaved, - SelectableDayPredicate? selectableDayPredicate,
- String? errorFormatText,
- String? errorInvalidText,
- String? fieldHintText,
- String? fieldLabelText,
- TextInputType? keyboardType,
- bool autofocus = false,
- bool acceptEmptyDate = false,
- FocusNode? focusNode,
- CalendarDelegate<
DateTime> calendarDelegate = const GregorianCalendarDelegate(),
Creates a TextFormField configured to accept and validate a date.
If the optional initialDate is provided, then it will be used to populate
the text field. If the fieldHintText is provided, it will be shown.
If initialDate is provided, it must not be before firstDate or after
lastDate. If selectableDayPredicate is provided, it must return true
for initialDate.
firstDate must be on or before lastDate.
Implementation
InputDatePickerFormField({
super.key,
DateTime? initialDate,
required DateTime firstDate,
required DateTime lastDate,
this.onDateSubmitted,
this.onDateSaved,
this.selectableDayPredicate,
this.errorFormatText,
this.errorInvalidText,
this.fieldHintText,
this.fieldLabelText,
this.keyboardType,
this.autofocus = false,
this.acceptEmptyDate = false,
this.focusNode,
this.calendarDelegate = const GregorianCalendarDelegate(),
}) : initialDate = initialDate != null ? calendarDelegate.dateOnly(initialDate) : null,
firstDate = calendarDelegate.dateOnly(firstDate),
lastDate = calendarDelegate.dateOnly(lastDate) {
assert(
!this.lastDate.isBefore(this.firstDate),
'lastDate ${this.lastDate} must be on or after firstDate ${this.firstDate}.',
);
assert(
initialDate == null || !this.initialDate!.isBefore(this.firstDate),
'initialDate ${this.initialDate} must be on or after firstDate ${this.firstDate}.',
);
assert(
initialDate == null || !this.initialDate!.isAfter(this.lastDate),
'initialDate ${this.initialDate} must be on or before lastDate ${this.lastDate}.',
);
assert(
selectableDayPredicate == null ||
initialDate == null ||
selectableDayPredicate!(this.initialDate!),
'Provided initialDate ${this.initialDate} must satisfy provided selectableDayPredicate.',
);
}