Oi Luiz, tudo bem?
Desculpe a demora em retornar.
Que legal que você está fazendo upgrades no código do app de lista de tarefas! É sempre bom buscar melhorias e deixar o aplicativo mais robusto.
Pelo que você descreveu, parece que o problema está relacionado ao funcionamento do validator. Ele está funcionando corretamente ao avisar quando o input não cumpre os requisitos, mas quando o input está correto, nenhuma tarefa é criada.
Uma possível solução para esse problema seria verificar se o input passou no validator antes de criar a tarefa. Assim, você pode adicionar uma condição no código para criar a tarefa somente se o input estiver válido.
Por exemplo, suponha que você esteja usando um TextFormField com um validator personalizado. Você pode fazer algo assim:
TextFormField(
validator: (value) {
if (value.isEmpty) {
return 'Por favor, preencha o campo';
}
return null;
},
onSaved: (value) {
if (value != null) {
// Aqui você pode criar a tarefa com o valor do input
// Exemplo: Task novaTarefa = Task(descricao: value);
}
},
),
Dessa forma, a tarefa só será criada se o input passar pelo validator e não estiver vazio. Assim, você garante que só serão criadas tarefas válidas.
Espero que essa sugestão possa te ajudar a resolver o problema.
Um abraço e bons estudos.