validarPeriodoApuracaoRange static method
- int? periodoApuracao
Valida se o período de apuração está dentro de um range válido
Implementation
static String? validarPeriodoApuracaoRange(int? periodoApuracao) {
if (periodoApuracao == null) {
return 'Período de apuração é obrigatório';
}
final hoje = DateTime.now();
final periodoStr = periodoApuracao.toString();
if (periodoStr.length != 6) {
return 'Período de apuração deve ter 6 dígitos (AAAAMM)';
}
final ano = int.parse(periodoStr.substring(0, 4));
final mes = int.parse(periodoStr.substring(4, 6));
// Verifica se não é muito antigo (mais de 10 anos)
if (ano < hoje.year - 10) {
return 'Período de apuração muito antigo';
}
// Verifica se não é futuro
if (ano > hoje.year || (ano == hoje.year && mes > hoje.month)) {
return 'Período de apuração não pode ser futuro';
}
return null;
}