getValidationErrors static method

List<String> getValidationErrors({
  1. int? year,
  2. int? month,
  3. int? day,
  4. int? hour,
  5. int? minute,
  6. int? second,
  7. int? millisecond,
})

Gets validation errors for date components

Returns a list of error messages for invalid components

Implementation

static List<String> getValidationErrors({
  int? year,
  int? month,
  int? day,
  int? hour,
  int? minute,
  int? second,
  int? millisecond,
}) {
  final errors = <String>[];

  if (year != null && !isValidYear(year)) {
    errors.add('Invalid year: $year (must be 1-9999)');
  }

  if (month != null && !isValidMonth(month)) {
    errors.add('Invalid month: $month (must be 1-12)');
  }

  if (day != null &&
      year != null &&
      month != null &&
      !isValidDay(year, month, day)) {
    errors.add('Invalid day: $day for $month/$year');
  }

  if (hour != null && !isValidHour(hour)) {
    errors.add('Invalid hour: $hour (must be 0-23)');
  }

  if (minute != null && !isValidMinute(minute)) {
    errors.add('Invalid minute: $minute (must be 0-59)');
  }

  if (second != null && !isValidSecond(second)) {
    errors.add('Invalid second: $second (must be 0-59)');
  }

  if (millisecond != null && !isValidMillisecond(millisecond)) {
    errors.add('Invalid millisecond: $millisecond (must be 0-999)');
  }

  return errors;
}