【发布时间】:2020-05-28 03:38:36
【问题描述】:
我有一个包含多个控件但分布在多个选项卡上的表单。如果用户点击一个按钮,我喜欢为单个字段调用验证器函数。
【问题讨论】:
标签: flutter
我有一个包含多个控件但分布在多个选项卡上的表单。如果用户点击一个按钮,我喜欢为单个字段调用验证器函数。
【问题讨论】:
标签: flutter
要验证具有FormFieldState 类型的单个表单字段创建键,请将该键分配给表单字段并在键的当前状态上调用validate 方法:
class MyCustomForm extends StatefulWidget {
@override
MyCustomFormState createState() {
return MyCustomFormState();
}
}
class MyCustomFormState extends State<MyCustomForm> {
final _formFieldKey = GlobalKey<FormFieldState>();
@override
Widget build(BuildContext context) {
return Form(
child: Column(children: <Widget>[
TextFormField(
key: _formFieldKey,
validator: (value) {
if (value.isEmpty) {
return 'Please enter some text';
}
return null;
},
),
TextFormField(
validator: (value) {
if (value.isEmpty) {
return 'Please enter some text';
}
return null;
},
),
RaisedButton(
onPressed: () {
if (_formFieldKey.currentState.validate()) {
Scaffold.of(context)
.showSnackBar(SnackBar(content: Text('Processing Data')));
}
},
child: Text('Submit'),
),
]));
}
}
【讨论】: