Error text overflow when inputting not in range value in input entry mode of the Date Range Picker causes the error text not to be readable.
import 'package:flutter/material.dart';
import 'package:persian_datetime_picker/persian_datetime_picker.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
body: Row(
children: [
// Default Flutter Date Range Picker
Expanded(
child: Center(
child: FilledButton(
child: const Text('select date range'),
onPressed: () {
showDateRangePicker(
context: context,
firstDate: DateTime(2020),
lastDate: DateTime(2024),
initialDateRange: DateTimeRange(
start: DateTime.now(),
end: DateTime.now(),
),
initialEntryMode: DatePickerEntryMode.input,
);
},
),
),
),
// Persian Date Range Picker
Expanded(
child: Center(
child: FilledButton(
child: const Text('انتخاب بازه زمانی'),
onPressed: () {
showPersianDateRangePicker(
context: context,
initialEntryMode: PDatePickerEntryMode.input,
firstDate: Jalali(1400),
lastDate: Jalali(1403),
initialDateRange: JalaliRange(
start: Jalali.now(),
end: Jalali.now(),
),
);
},
),
),
),
],
),
);
}
}
String? _validateDate(Jalali? date) {
if (date == null) {
return widget.errorFormatText ?? 'تاریخ انتخاب شده معتبر نمی باشد.';
} else if (date.isBefore(widget.firstDate) ||
date.isAfter(widget.lastDate)) {
return widget.errorInvalidText ?? 'تاریخ انتخاب شده معتبر نمی باشد.';
}
return null;
}