Desde que foi criado o inheritedWidget o meu validator parou de funcionar.
Segue o código das funções de validação e depois dos TextFormField
bool ValueValidator(String? value){
if(value != null && value.isEmpty){
return true;
}
return false;
}
bool DifficultyValidator(String? value){
if(value != null && value.isEmpty){
if(int.parse(value) > 5 ||
int.parse(value) < 1){
return true;
}
}
return false;
}
child: Column(
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: TextFormField(
validator: (String? value) {
if (ValueValidator(value)) {
return 'Insira o nome da tarefa';
}
return null;
},
textAlign: TextAlign.center,
controller: nameController,
decoration: InputDecoration(
hintText: 'Nome da Tarefa',
fillColor: Colors.white70,
border: OutlineInputBorder(),
filled: true,
),
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: TextFormField(
validator: (String? value) {
if (DifficultyValidator(value)) {
return 'Insira uma dificuldade entre 1 e 5';
}
return null;
},
keyboardType: TextInputType.number,
textAlign: TextAlign.center,
controller: difficultyController,
decoration: InputDecoration(
hintText: 'Dificuldade',
fillColor: Colors.white70,
border: OutlineInputBorder(),
filled: true,
),
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: TextFormField(
validator: (String? value) {
if (ValueValidator(value)) {
return 'Insira uma URL válida';
}
return null;
},
keyboardType: TextInputType.url,
onChanged: (text) {
setState(() {});
},
textAlign: TextAlign.center,
controller: imageController,
decoration: InputDecoration(
hintText: 'URL da imagem',
fillColor: Colors.white70,
border: OutlineInputBorder(),
filled: true,
),
),
),