checkDateFormat static method

(String, bool) checkDateFormat(
  1. String fieldType,
  2. String input
)

Implementation

static (String, bool) checkDateFormat(String fieldType, String input) {
  bool moveNext = false;
  String correctedValue = input;
  int number = int.parse(input);

  if (fieldType == 'year') {
    moveNext = input.length >= 4;
    if (input == "0000") {
      correctedValue = "0001";
    }
  } else if (fieldType == 'month') {
    moveNext = input.length >= 2;

    if (input == "00") {
      correctedValue = "01";
    } else if (number > 1 && number < 10) {
      moveNext = true;
      correctedValue = "0$number";
    } else if (number > 12) {
      correctedValue = "12";
    }
  } else if (fieldType == 'day') {
    moveNext = input.length >= 2;

    if (input == "00") {
      correctedValue = "01";
    } else if (number > 3 && number < 10) {
      moveNext = true;
      correctedValue = "0$number";
    } else if (number > 31) {
      correctedValue = "31";
    }
  }

  return (correctedValue, moveNext);
}