Olá, Micael!
Pelo que você descreveu e pela mensagem de erro "FormatException: Invalid radix-10 number", parece que o problema está relacionado à conversão de uma String para um número em base 10, mas o valor que está sendo passado não é válido para essa conversão.
No código do input que você compartilhou, não há uma conversão explícita de String para número, então a exceção pode estar sendo lançada em outra parte do seu código que não está visível na imagem. A função valueValidator
chamada no validator
do TextFormField
pode estar tentando fazer essa conversão e falhando.
Para resolver o problema, você precisará verificar onde no seu código está ocorrendo essa tentativa de conversão. Se estiver usando o valor do input para converter para um número, certifique-se de que o valor é de fato um número válido em base 10 antes de tentar a conversão. Você pode usar a função int.tryParse
ou double.tryParse
para tentar converter a String para um número e essas funções retornarão null
se a conversão falhar, o que permite que você trate o erro de forma mais segura.
Aqui está um exemplo de como você poderia fazer essa verificação:
String inputString = 'seu_valor_aqui'; // Substitua com o valor real do input
int? number = int.tryParse(inputString);
if (number == null) {
// Trate o erro, pois a string não é um número válido
} else {
// A conversão foi bem-sucedida e você pode usar o número
}
Certifique-se de que qualquer lugar no seu código que esteja esperando um número esteja preparado para lidar com valores inválidos ou utilize a abordagem de tryParse
para conversões seguras.
Espero ter ajudado e bons estudos!