Flutter formkey 异常显示_CastError (Null check operator used on a null value)

Flutter formkey exception displayed _CastError (Null check operator used on a null value)

我通过在 Form() 中包装一个列小部件创建了一个表单

Form(
      key: formKey,
      child: Column(
        children: [

但是当我尝试设置 final isValid = formKey.currentState!.validate(); 进行检查时,我收到一条消息 _CastError (Null check operator used on a null value) 发生异常 有什么建议吗? Example Pic

此时 currentState 为空,您正试图在构建表单之前对其进行验证。当单击某个提交按钮等时,在回调中验证表单会更有意义。 检查 Link to flutter docs 示例。

您需要创建这样的函数并在单击某些提交按钮等时调用。谢谢。

void _saveForm() {
final isValid = formKey.currentState!.validate();
if (!isValid) {
  // ignore: avoid_returning_null_for_void
  return null;
}
_form.currentState!.save(); 
 // .... extra code
}

部分感谢 Void Void 解决方案不是声明变量 isVaild。选中 formKey.currentState!.validate() on press for button

onPressed: () {
                  if (!formKey.currentState!.validate()) return;
                  AccountUpdate.updatePassword(
                      _confirmController.text, context);
                },