android - 如何检查文本字段中输入的日期在 Dart/Flutter 中是否有效?
问题描述
我在 3 个文本字段中采用日期月份和年份,但 DateTime 属性或函数都没有提供验证。
我已经使用 DateTime.parse(str) 来获取日期,但是如果输入的月份字段也超过 12 个相同的天数,它会将剩余的月份添加到年份中。
bool isDate(String str) {
try {
DateTime.parse(str);
return true;
} catch (e) {
return false;
}
}
我希望如果有人在字符串中输入“20053050”是假的,而不是真的。但是这个函数总是返回 true !!!
解决方案
有一个简单的方法你现在可以试试。这是tryParse方法。它只是为无效的日期格式返回 null。
if(DateTime.tryParse(timeString) != null){
DateTime date = DateTime.parse(timeString);
}
推荐阅读
- xamarin - 当 CrossSimpleAudioPlayer 播放时,WkWebView 暂时禁用
- firebase - 我正在使用流提供程序和 Navigator.push(),如何检测新路由中流的更改
- python - “ctypes\__init__.py”,第 364 行,在 __init__ OSError: [WinError 126] The specified module could not be found While running pyinstaller executable
- python - how to slice data frame by row number and aggregate in pandas
- android - 用户单击通知启动后台应用程序时如何获取Android推送通知有效负载
- vue.js - Vue.js:是否可以对 Vue 项目进行“条件编译”?
- r - 在我的函数中应用巴特利特测试时出错
- docker - "google cloud run" 将 CMD 的 HOME 更改为 /home,其中 RUN 使用 /root
- java - android 应用中的 Google Pay 集成(受限国家/地区)
- c - 2位七段显示