“autovalidate”已弃用,不应使用。使用 autoValidateMode 参数提供与自动验证相关的更具体的行为。此功能在 v1.19.0 后已弃用。 尝试用替换成员替换已弃用成员的使用。 在此输入图片描述
自动验证已被弃用并被枚举取代。所以你应该迁移到新版本。
您需要做的就是将 autovalidate: true 替换为 autovalidateMode: AutovalidateMode.always
AutovalidateMode.always
AutovalidateMode.disabled
AutovalidateMode.onUserInteraction
迁移前的代码:
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FormField(
autovalidate: true,
builder: (FormFieldState state) {
return Container();
},
);
}
}
迁移后的代码:
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return FormField(
autovalidateMode: AutovalidateMode.always,
builder: (FormFieldState state) {
return Container();
},
);
}
}
更多关于 autovalidateMode
autovalidate 从 Flutter v1.19 开始已弃用
将 autovalidate 替换为 autovalidateMode。
autovalidateMode 可以具有以下 3 个值之一:
autovalidateMode:AutovalidateMode.disabled: 不会发生自动验证。
autovalidateMode:AutovalidateMode.always: 用于自动验证 FormField,即使没有用户交互。
autovalidateMode:AutovalidateMode.onUserInteraction: 用于仅在每次用户交互后自动验证 FormField。
我建议一一尝试上述所有值,并使用满足您要求的值。
autovalidate已被弃用,现在需要使用autovalidateMode:AutovalidateMode.always 通过以下方式查看 flutter 文档: https://docs.flutter.dev/release/writing-changes/form-field-autovalidation-api