Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Autovalidate of TextFormField is deprecated in Flutter

'autovalidate' is deprecated and shouldn't be used. Use autoValidateMode parameter which provide more specific behaviour related to auto validation. This feature was deprecated after v1.19.0.. Try replacing the use of the deprecated member with the replacement. enter image description here

like image 292
Arnab Bhattacharya Avatar asked Oct 03 '20 23:10

Arnab Bhattacharya


2 Answers

autovalidate is replaced by autovalidateMode

Auto validation is deprecated and replaced by an enum. So you should migrate to the new version.

All you need to do is replace autovalidate: true with autovalidateMode: AutovalidateMode.always

The different supported modes are

  1. AutovalidateMode.always
  2. AutovalidateMode.disabled
  3. AutovalidateMode.onUserInteraction

Example:

Code before migration:

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return FormField(
      autovalidate: true,
      builder: (FormFieldState state) {
        return Container();
      },
    );
  }
}

Code after migration:

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return FormField(
      autovalidateMode: AutovalidateMode.always,
      builder: (FormFieldState state) {
        return Container();
      },
    );
  }
}
like image 123
Darish Avatar answered Sep 19 '22 17:09

Darish


autovalidate is deprecated from Flutter v1.19

Replace autovalidate with autovalidateMode.

autovalidateMode can have one of the below 3 values:

  1. autovalidateMode: AutovalidateMode.disabled: No auto validation will occur.

  2. autovalidateMode: AutovalidateMode.always: Used to auto-validate FormField even without user interaction.

  3. autovalidateMode: AutovalidateMode.onUserInteraction: Used to auto-validate FormField only after each user interaction.

I suggest try all the above values one by one and use the one that fulfills ur requirement.

like image 36
Dharmik Thakkar Avatar answered Sep 18 '22 17:09

Dharmik Thakkar