【问题标题】:Flutter form: 'the method validate was called on null'颤振形式:'方法验证被称为空'
【发布时间】:2019-12-14 00:48:37
【问题描述】:

我有多个表单在颤动,当我点击提交按钮时它会出错。我尝试只使用前 4 种形式并且有效,我错过了什么吗? 谢谢!

flutter: ══╡ 手势捕捉到异常╞═════════════════════════════════════════ ══════════════════════════════ 颤振:处理手势时抛出以下 NoSuchMethodError : 颤振:在 null 上调用了方法“验证”。 颤振:接收者:空 颤振:尝试调用:验证()

 final _formKey = GlobalKey<FormState>();
  final _formteleKey = GlobalKey<FormState>();
  final _formStraatKey = GlobalKey<FormState>();
  final _formNumberKey = GlobalKey<FormState>();
  final _formSMOKey = GlobalKey<FormState>();
  final _formSTUKey = GlobalKey<FormState>();
  final _formSWEKey = GlobalKey<FormState>();
  final _formSTHKey = GlobalKey<FormState>();
  final _formSFRKey = GlobalKey<FormState>();
  final _formSSAKey = GlobalKey<FormState>();
  final _formSSUKey = GlobalKey<FormState>();
  final _formEMOKey = GlobalKey<FormState>();
  final _formETUKey = GlobalKey<FormState>();
  final _formEWEKey = GlobalKey<FormState>();
  final _formETHKey = GlobalKey<FormState>();
  final _formEFRKey = GlobalKey<FormState>();
  final _formESAKey = GlobalKey<FormState>();
  final _formESUKey = GlobalKey<FormState>();

  void save() {
    final form = _formKey.currentState;
    final form2 = _formteleKey.currentState;
    final form3 = _formStraatKey.currentState;
    final form4 = _formNumberKey.currentState;
    final form5 = _formSMOKey.currentState;
    final form6 = _formSTUKey.currentState;
    final form7 = _formSWEKey.currentState;
    final form8 = _formSTHKey.currentState;
    final form9 = _formSFRKey.currentState;
    final form10 = _formSSAKey.currentState;
    final form11 = _formSSUKey.currentState;
    final form12 = _formEMOKey.currentState;
    final form13 = _formETUKey.currentState;
    final form14 = _formEWEKey.currentState;
    final form15 = _formETHKey.currentState;
    final form16 = _formEFRKey.currentState;
    final form17 = _formESAKey.currentState;
    final form18 = _formESUKey.currentState;

    if (form.validate()) {
      form.save();

    }

    if (form2.validate()) {
      form2.save();

    }
    if (form3.validate()) {
      form3.save();
    }

    if (form4.validate()) {
      form4.save();
    }
    if (form5.validate()) {
      form5.save();
    }
    if (form6.validate()) {
      form6.save();
    }
    if (form7.validate()) {
      form7.save();
    if (form8.validate()) {
      form8.save();
    }
    if (form9.validate()) {
      form9.save();
    }

    if (form10.validate()) {
      form10.save();
    }
    if (form11.validate()) {
      form11.save();
    }

    if (form12.validate()) {
      form12.save();
    }
    if (form13.validate()) {
      form13.save();
    }

    if (form14.validate()) {
      form14.save();
    }
    if (form15.validate()) {
      form15.save();
    }

    if (form16.validate()) {
      form16.save();
    }
    if (form17.validate()) {
      form17.save();
    }

    if (form18.validate()) {
      form18.save();
    }

    returnCoordinates();

    SUBMIT();
  }

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您需要检查所有form 变量的值,其中一个为空,这就是原因。它给出了错误

    flutter:处理 a 时抛出以下 NoSuchMethodError 手势:颤动:在 null 上调用了“验证”方法。扑: 接收者:null flutter:尝试调用:validate()

    可以通过调试代码来验证。

    【讨论】:

      猜你喜欢
      • 2020-03-07
      • 2020-02-28
      • 2021-04-06
      • 2020-07-31
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      相关资源
      最近更新 更多