I have a FormBuilderDropdown wrapped in FormBuilder. Validation is set to required using form_builder_validators. After I select a value from the dropdown, my suffix icon changes to a green check. However when I validate the form before submitting, I get a validation error "This value is required" on the dropdown.
FormBuilderDropdown<String>(
name: "meter_id",
validator: FormBuilderValidators.required(),
onChanged: (value) {
setState(() {
_meterHasError = !(_formKey
.currentState?.fields['meter_id']
?.validate() ??
false);
});
},
decoration: InputDecoration(
suffix: _meterHasError
? const Icon(Icons.error, color: Colors.red)
: const Icon(Icons.check, color: Colors.green),
hintText: 'Select Meter',
),
items: widget.meters
.map((e) => DropdownMenuItem(
value: e.id,
child: Text(e.name),
))
.toList()),
My submit function is such
_submit() {
if (_formKey.currentState!.validate()) {
_formKey.currentState!.save();
(...)
I tried to change the validation options to minLength but no luck. Any ideas?