如果您想确保仅在正确填写表单后才提交数据,可以通过以下方法来解决此问题:
TextEditingController _textEditingController = TextEditingController();
TextField(
controller: _textEditingController,
decoration: InputDecoration(
labelText: 'Your Email'
),
),
final formKey = GlobalKey();
RaisedButton(
onPressed: () {
if (formKey.currentState.validate()) {
// Do something here
_textEditingController.clear(); // Clear the TextField
}
},
child: Text('Submit'),
)
Form(
key: formKey,
child: Column(
children: [
TextField(
controller: _textEditingController,
decoration: InputDecoration(
labelText: 'Your Email'
),
validator: (value) {
if (value.isEmpty) {
return 'Please enter your email';
}
return null;
},
),
RaisedButton(
onPressed: () {
if (formKey.currentState.validate()) {
// Do something here
_textEditingController.clear(); // Clear the TextField
}
},
child: Text('Submit'),
),
],
),
)
这样,当用户点击提交按钮时,表单将验证所有字段,并仅在所有字段都已正确完整填写时向服务器发送数据。
上一篇:表单缩写不显示