validateDate method

String? validateDate()

Implementation

String? validateDate() {
  // final unMaskedDate = dateMaskFormatter.unmaskText(this ?? "");
  final unMaskedDate = this ?? "";
  if (unMaskedDate.isEmpty) {
    return "empty_error".translate;
  }

  if (unMaskedDate.length < 10) {
    return "length_error".translate.replaceAll("%a", "10");
  }

  final date = DateFormat("dd-MM-yyyy").parse( unMaskedDate);
  try {
    DateFormat("dd-MM-yyyy").parseStrict(unMaskedDate);
  } catch (e) {
    return "invalid_date".translate;
  }

  if (date.day > 31 || date.month > 12 || date.year > 2007 || date.year < 1965) {
    return "invalid_date".translate;
  }

  return null;

  // final date = dateMaskFormatter
  //     .unmaskText(this ?? "")
  //     .validateLength(stringLength: 10);
}