![](/img/trans.png)
[英]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.