【问题标题】:how to validate dynamically created textfields in flutter如何在颤动中验证动态创建的文本字段
【发布时间】:2020-05-13 20:25:09
【问题描述】:

布尔变量的值发生变化,但在文本字段中不显示错误文本

这些是声明

    int i = 0;
    List<bool> validationList = [];
    List<Widget> listDynamic = [];
    List<TextEditingController> controllersList = []; 

这是验证方法

    submitData()
    {
    for(int a = 0 ; a < i; a++ ){
        if(controllersList[a].text == ''){
            setState(() {
                validationList[a] =true;
                print(validationList[a]);
            });
        }
    }
    }

这是动态创建文本文件的方法

    addDynamic() {
    validationList = List.from(validationList)..add(false);
    controllersList = List.from(controllersList)..add(TextEditingController());
    listDynamic = List.from(listDynamic)..add(Column(
        children: <Widget>[
            Container(
            margin: EdgeInsets.fromLTRB(20, 40, 20, 0),
            child: TextField(
                decoration: InputDecoration(
                    errorText: validationList[i] == true ? 'Value cant be empty' : null,
                    labelText: ('ImageURL'),
                    prefixIcon: Icon(Icons.image),
                    helperText: 'www.example.com',
                    border: OutlineInputBorder()),
                    controller: controllersList[i],
            ),
          ),
          SizedBox(height: 20),
        ],
      ));
      i++;
    setState(() {});
    }

【问题讨论】:

标签: validation flutter textfield


【解决方案1】:

将“key”属性添加到 TextField: 键:ObjectKey("key$i"),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多