validarPeriodoApuracao static method

String? validarPeriodoApuracao(
  1. int? periodo
)

Valida se um período de apuração está no formato correto (AAAAMM)

Implementation

static String? validarPeriodoApuracao(int? periodo) {
  if (periodo == null) {
    return 'Período de apuração é obrigatório';
  }

  final periodoStr = periodo.toString();
  if (periodoStr.length != 6) {
    return 'Período de apuração deve estar no formato AAAAMM';
  }

  final ano = int.tryParse(periodoStr.substring(0, 4));
  final mes = int.tryParse(periodoStr.substring(4, 6));

  if (ano == null || mes == null) {
    return 'Período de apuração deve conter apenas números';
  }

  if (ano < 2000 || ano > 2100) {
    return 'Ano do período deve estar entre 2000 e 2100';
  }

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

  return null;
}