首页 > 解决方案 > Flutter:用于验证的 for 循环只读取第一个索引而不是所有索引

问题描述

我有一些我想在多部分方法中发送的多字段,并且我已经使用 for 循环对其设置了验证条件,但在我的情况下,验证仅在第一个索引上工作并且没有工作关于其他人。

编辑 :

现在,在删除 return 语句后,它进入 else 条件并且在第一个之后没有停止

这是我当前使用的代码:

onPressed: () {
              for (int i = 0; i < 10; i++) {
                 if (_frontImagesFiles[i] == null ||
                    _backImagesFiles[i] == null ||
                    _controllerListPhones[i].text.isEmpty ||
                    _controllerListNames[i].text.isEmpty) {
                  showAlert(i);
                } else if (_controllerListPhones[i].value.text.length != 11) {
                  phone(i);
                } else {
                  upload(_frontImagesFiles, _backImagesFiles);
                }
              }
            }, 

标签: flutterdart

解决方案


尝试在没有'return'的情况下使用它在你的情况下,当使用'return'时,for循环退出

    onPressed: () {
                  for (int i = 0; i < 10; i++) {
                     if (_frontImagesFiles[i] == null ||
                        _backImagesFiles[i] == null ||
                        _controllerListPhones[i].text.isEmpty ||
                        _controllerListNames[i].text.isEmpty) {
                      showAlert(i);
                    } else if (_controllerListPhones[i].value.text.length != 11) {
                      phone(i);               
                    } else {
                      upload(_frontImagesFiles, _backImagesFiles);
                    }
                  }
                }, 

推荐阅读