validarDataFormato static method
- int? data
Valida se uma data está no formato correto (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 estar no formato AAAAMMDD';
}
final ano = int.tryParse(dataStr.substring(0, 4));
final mes = int.tryParse(dataStr.substring(4, 6));
final dia = int.tryParse(dataStr.substring(6, 8));
if (ano == null || mes == null || dia == null) {
return 'Data deve conter apenas números';
}
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';
}
if (dia < 1 || dia > 31) {
return 'Dia deve estar entre 01 e 31';
}
// Verifica se a data é válida
try {
DateTime(ano, mes, dia);
} catch (e) {
return 'Data inválida';
}
return null;
}