首页 > 解决方案 > 在 Dart / Flutter 中比较 List 和 Value

问题描述

我正在尝试将输入值与 Dart 语言中的项目列表进行比较,但是,它似乎不起作用。

方法:

  String validateStoreNumber(String value) {

    List<String> storeList = ['55', '56', '88'];

    // String patttern = r'(^[a-zA-Z ]*$)';
    RegExp regExp = new RegExp(r'^[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)$');
    if (value.length == 0) {
      return "car number is required";
    } else if (!regExp.hasMatch(value)) {
      return "Accepts only numbers";
    } else if (value.length != 2){

      return "car number must have 2 digits";
    } else if (value != storeList.contains(value)){

      return "Not our model";
    }
    return null;
  }

标签: dartflutter

解决方案


这条线...

否则 if (value != storeList.contains(value))

是问题。左边的“value”是一个字符串,右边的“contains”是一个布尔值。您正在将字符串与布尔值进行比较。

我想你想要这个...

否则 if (!storeList.contains(value))

推荐阅读