【问题标题】:how can I validate a single form field in flutter如何在颤振中验证单个表单字段
【发布时间】:2020-05-28 03:38:36
【问题描述】:

我有一个包含多个控件但分布在多个选项卡上的表单。如果用户点击一个按钮,我喜欢为单个字段调用验证器函数。

【问题讨论】:

    标签: flutter


    【解决方案1】:

    要验证具有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'),
          ),
        ]));
      }
    }
    
    

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 1970-01-01
      • 2020-01-19
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      相关资源
      最近更新 更多