isValidIsoDate property
bool
get
isValidIsoDate
Check if the string is a valid ISO date
Implementation
bool get isValidIsoDate {
try {
final parts = split('-');
if (parts.length != 3) return false;
final year = int.tryParse(parts[0]);
final month = int.tryParse(parts[1]);
final day = int.tryParse(parts[2]);
if (year == null || month == null || day == null) return false;
if (month < 1 || month > 12) return false;
if (day < 1 || day > 31) return false;
// More thorough date validation
try {
final date = DateTime(year, month, day);
// Check if the date components match (handles invalid dates like Feb 30)
return date.year == year && date.month == month && date.day == day;
} catch (_) {
return false;
}
} catch (_) {
return false;
}
}