birthDate static method
Validates birth date (format DD/MM/YYYY or YYYY-MM-DD)
Implementation
static String? Function(String?) birthDate({String? message}) {
return (String? value) {
if (value == null || value.trim().isEmpty) {
return null;
}
try {
// Try to parse the date
final date = DateTime.parse(value);
// Validate not in the future
if (date.isAfter(DateTime.now())) {
return message ?? _defaultMessages['birthDate'];
}
// Validate minimum age (e.g., 1 year)
if (date.isAfter(DateTime.now().subtract(const Duration(days: 365)))) {
return message ?? _defaultMessages['birthDate'];
}
return null;
} catch (e) {
return message ?? _defaultMessages['birthDate'];
}
};
}