isValidIsoDate property

bool get isValidIsoDate

ISO 8601 date only: 2024-01-31

Implementation

bool get isValidIsoDate {
  if (!RegExp(r'^\d{4}-\d{2}-\d{2}$').hasMatch(this)) return false;
  final year = int.parse(substring(0, 4));
  final month = int.parse(substring(5, 7));
  final day = int.parse(substring(8, 10));
  final parsed = DateTime.tryParse(this);
  return parsed != null &&
      parsed.year == year &&
      parsed.month == month &&
      parsed.day == day;
}