android - 在 Dart/Flutter 中,如何检查 Textfield 中输入的日期是否有效?

标签 android flutter dart

我在 3 个文本字段中使用年月日,但 DateTime 属性或函数均未提供验证。

我已经使用 DateTime.parse(str) 来获取日期,但是如果月份字段输入的天数超过 12 天,它会将剩余的月份添加到年中。

bool isDate(String str) {
  try {
    DateTime.parse(str);
    return true;
  } catch (e) {
    return false;
  }
}

如果有人在字符串中输入“20053050”,我希望它是假的,而不是真的。 但是这个函数总是返回真!!!

enter image description here

最佳答案

您现在可以尝试一种简单的方法。这是 tryParse方法。 对于无效的日期格式,它只会返回 null。

if(DateTime.tryParse(timeString) != null){
  DateTime date = DateTime.parse(timeString);
}

关于android - 在 Dart/Flutter 中,如何检查 Textfield 中输入的日期是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58329577/

相关文章:

android - 将 SQLite 数据库加载到 Android 应用程序中(超过 1MB)

flutter - 计时器跳过几分钟,几分钟后就无法正常工作

android - 从iOS Swift代码显示FlutterView时出现问题

flutter - 如何在 Flutter 中运行单个 dart 文件而无需在 vscode 中构建 UI?

android - 将 View 模型注入(inject)仪器测试

android - 如何在 android 中包含如下图所示的平方根符号?

android - 在此 Flutter 示例中格式化文本的最佳方式是什么?

firebase - 如何将Flutter中从Firebase DocumentSnapshot获得的List <dynamic>中的值复制到新的List中并为其添加值?

flutter - Flutter Firebase存储 future 问题

android - 在 android 中将数据传递给 json 时单引号不起作用