validDate static method
Implementation
static String? validDate(String value) {
if (value.isEmpty) {
return 'Informe uma data.';
}
List<String> parts = value.split('/');
if (parts.length != 3) {
return 'Data inválida.';
}
if (parts[2].length != 4) {
return 'Ano inválido.';
}
int? year = int.tryParse(parts[2]);
if (year == null) {
return 'Ano inválido.';
}
int? month = int.tryParse(parts[1]);
if (month == null || month < 1 || month > 12) {
return 'Mês inválido.';
}
int? day = int.tryParse(parts[0]);
if (day == null || day < 1 || day > DateTime(year, month).daysInMonth) {
return 'Dia inválido.';
}
return null;
}