我有一个带有多个控件的表单,但分布在多个选项卡上。如果用户单击一个按钮,我想为单个字段调用验证器功能。
要验证具有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'),
),
]));
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句