validarParcelaParaEmitir static method
- int? parcelaParaEmitir
Valida a parcela para emissão (formato AAAAMM)
Implementation
static String? validarParcelaParaEmitir(int? parcelaParaEmitir) {
if (parcelaParaEmitir == null) {
return 'Parcela para emitir é obrigatória';
}
final parcelaStr = parcelaParaEmitir.toString();
if (parcelaStr.length != 6) {
return 'Parcela para emitir deve ter 6 dígitos (AAAAMM)';
}
final ano = int.parse(parcelaStr.substring(0, 4));
final mes = int.parse(parcelaStr.substring(4, 6));
if (ano < 2000 || ano > 2100) {
return 'Ano deve estar entre 2000 e 2100';
}
if (mes < 1 || mes > 12) {
return 'Mês deve estar entre 01 e 12';
}
// Validação adicional: não pode ser uma parcela muito futura
final hoje = DateTime.now();
final parcelaData = DateTime(ano, mes);
final limiteFuturo = DateTime(hoje.year + 2, hoje.month);
if (parcelaData.isAfter(limiteFuturo)) {
return 'Parcela não pode ser mais de 2 anos no futuro';
}
return null;
}