效果:
这里使用到了fluttertoast插件弹出提示;
下载:fluttertoast: ^8.0.8 # 弹出提示信息插件
导入插件:import ‘package:fluttertoast/fluttertoast.dart’; // 弹出提示
// 验证必填项
_funTestMust() {
// 需要验证的映射表
List keyWordMap = [
{'key': largeClassId, 'tips': '请选择备件大分类'},// "key"表示被验证的值,"tips"表示验证不通过时弹出的提示
{'key': middleClassId, 'tips': '请选择备件中分类'},
{'key': classId, 'tips': '请选择备件'},
{'key': spaTypeId, 'tips': '请选择备件类型'},
{'key': spaKindsId, 'tips': '请选择备件分类'},
];
if (_funShowTost(keyWordMap)) {
// 必填项已经全部填写,在这下面就能发送请求了
}
}
// 弹出提示
_funShowTost(list) {
// 使用for in 循环可以跳出循环,避免多个验证不通过一直弹出提示
for (var item in list) {
if (item['key'] == '' || item['key'] == '请选择') {
Fluttertoast.showToast(
msg: "${item['tips']}",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.CENTER,
timeInSecForIosWeb: 1,// 显示的时间
backgroundColor: Colors.grey[100],// 自定义背景色
textColor: Colors.black87,// 自定义字体颜色
fontSize: 16.0);// 自定义字体大小
return false;
}
}
return true;
}
这是我在做表单验证时想到的一个比较笨的方法,但也容易理解一点吧,有需要的直接复制粘贴就行了,有更好的解决办法可以一起讨论一下!!!