Flutter/Dart:如何向 TextFormField 等单选按钮添加验证?

Kis*_*iya 2 android dart flutter

如何在 Flutter 中向单选按钮添加验证?我知道有一个名为flutter_form_builder的包,但我不想使用它。有什么方法可以向单选按钮添加验证吗?我希望它使用 formkey 来验证它,但我无法发布代码,因为整个表单是动态的,而且我无权在线发布代码,因此感谢任何帮助。我可以制作自定义单选按钮吗?

小智 7

我知道有点晚了。例如,只需使用 FormBuilder 即可。

或者如果您在 Form() 中使用它,这是一个示例:

FormField(
                builder: (FormFieldState<bool> state) {
                  return Padding(
                      padding: EdgeInsets.all(10),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Text('Where is occurrence happened?'),
                          state.hasError
                              ? Text(
                                  state.errorText,
                                  style: TextStyle(color: Colors.red),
                                )
                              : Container(),
                          RadioListTile(
                            ...
                            onChanged: (SomeValueType value) {
                              ...                              
                              state.setValue(true);
                            },
                          ),
                          RadioListTile(
                            ...
                          ),
                        ],
                      ));
                },
                validator: (value) {
                  if (value != true) {
                    return 'Please choose location';
                  }
                  return null;
                },
              )
Run Code Online (Sandbox Code Playgroud)

在该代码中,验证器将在您调用 FormState.validate() 时运行,然后显示 ErrorText。