你好,我是扑扑的。
如果textformfield为空,则使用TextFormField小部件来验证输入,然后使用GlobalKey Form小部件将其包装。
我可以问一下是否仅检查至少一个 一个字段不为空 ,然后就可以了。
在这种情况下,有两个textformfield A和textformfield B,至少一个不能为空,因此可以为A或B。但是,如果两个都为空,则用户必须填写一个文本字段。我的目标是我所有的textformfield都经过验证,但是至少填满或不为空都可以。
upstream timed out (110: Connection timed out) while connecting to upstream, client:myip server: site.com, request: "GET / HTTP/1.1", upstream: "http://0.0.0.0:8000/", host: "mysite.com"
我打算将其更改为TextField小部件并使用setState({})来检查是否至少填充了1个,但我不想使用setState。有办法解决我的问题吗?谢谢
答案 0 :(得分:1)
尝试一下:
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
Form(
key: _formKey,
child: Column(children: [
TextFormField(validator: (value) {
if (value.isEmpty) {
return "Please Fill";
}
return null;
}),
TextFormField(validator: (value) {
if (value.isEmpty) {
return "Please Fill";
}
return null;
}),
RaisedButton(
child: Text("Submit"),
onPressed: () async {
if (_formKey.currentState.validate()) {
// If the form is valid, display a Snackbar.
Scaffold.of(context).showSnackBar(SnackBar(content: Text('Processing Data')));
}
_formKey.currentState.save();
//Some Codes
},
)
]),
),