validarDataFormato static method

String? validarDataFormato(
  1. int? data
)

Valida se a data está no formato AAAAMMDD

Implementation

static String? validarDataFormato(int? data) {
  if (data == null) {
    return 'Data é obrigatória';
  }

  final dataStr = data.toString();
  if (dataStr.length != 8) {
    return 'Data deve ter 8 dígitos (AAAAMMDD)';
  }

  final ano = int.parse(dataStr.substring(0, 4));
  final mes = int.parse(dataStr.substring(4, 6));
  final dia = int.parse(dataStr.substring(6, 8));

  if (ano < 1900 || ano > 2100) {
    return 'Ano deve estar entre 1900 e 2100';
  }

  if (mes < 1 || mes > 12) {
    return 'Mês deve estar entre 01 e 12';
  }

  if (dia < 1 || dia > 31) {
    return 'Dia deve estar entre 01 e 31';
  }

  // Validação adicional: verifica se a data é válida
  try {
    DateTime(ano, mes, dia);
  } catch (e) {
    return 'Data inválida';
  }

  return null;
}