[英]Flutter Textformfield validator Focuses Last TextFormfield on validation error instead of first
[英]Autovalidate of TextFormField is deprecated in Flutter
'autovalidate' 已弃用,不应使用。 使用 autoValidateMode 参数,该参数提供与自动验证相关的更具体的行为。 此功能在 v1.19.0 之后已弃用。。尝试将已弃用成员的使用替换为替换。 在此处输入图像描述
自动验证已弃用并由枚举代替。 所以你应该迁移到新版本。
您需要做的就是将autovalidate: true替换为autovalidateMode: AutovalidateMode.always
迁移前的代码:
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();
},
);
}
}
自动验证已从 Flutter v1.19 弃用
将autovalidate替换为autovalidateMode 。
autovalidateMode可以具有以下 3 个值之一:
autovalidateMode: AutovalidateMode.disabled :不会发生自动验证。
autovalidateMode: AutovalidateMode.always : 即使没有用户交互,也用于自动验证 FormField。
autovalidateMode: AutovalidateMode.onUserInteraction : 用于仅在每次用户交互后自动验证 FormField。
我建议一一尝试上述所有值,并使用满足您要求的值。
autovalidate 已被贬值,现在您需要使用 autovalidateMode: AutovalidateMode.always 通过以下方式检查颤振文档: https ://docs.flutter.dev/release/break-changes/form-field-autovalidation-api
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.