dart - 在 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;
}
解决方案
这条线...
否则 if (value != storeList.contains(value))
是问题。左边的“value”是一个字符串,右边的“contains”是一个布尔值。您正在将字符串与布尔值进行比较。
我想你想要这个...
否则 if (!storeList.contains(value))
推荐阅读
- android - 在 Android 和 iOS 中使用相同的应用程序链接进行深度链接,而不使用分支或 appsflyer
- powershell - 试图截断仅保留标题行的 csv/txt 文件
- kotlin - 为什么@JsonProperty 不适用于 Kotlin 中的驼峰式属性
- angular - 无法使用服务器端渲染从特定目录运行 Angular 11 应用程序
- flutter - 在文本小部件中接收数据后如何关闭对话框小部件
- javascript - Javascript:未捕获的类型错误:无法读取未定义的属性 innerHTML
- java - 如何在用 Kotlin 或 Java 编写的 Android 应用程序中硬编码 http_proxy 设置
- laravel - Lararel Mix 编译 css 空白页
- android - Android 应用程序:为什么需要 Youtube API 同意?
- javascript - WSO2 脚本中介的 setPayloadJSON 中是否存在换行符错误?