【问题标题】:Joi - validate strings in mysql datetime formatJoi - 验证 mysql 日期时间格式的字符串
【发布时间】:2019-04-16 01:37:43
【问题描述】:

我想验证 mysql 日期时间格式的输入字符串,如下所示:
YYYY-MM-DD HH:mm:ss
2018-10-12 19 :32:55

我该怎么做?
我已经使用了这段代码,但它允许像 222018-10-12 19:32:55 这样的字符串无效。

created_at: Joi.date().required()

【问题讨论】:

  • 我想你会发现YYYY 几乎被普遍解释为“长年格式”,意思是2018 而不是18,通常只是y。这通常是因为大多数解析库将遵守strftime 标准,而222018 尽管“遥远的未来”实际上仍然是“漫长的一年”。如果您期望有所不同,您可能需要一个基于字符串正则表达式的规则。所以用Joi.string().regex() 代替。

标签: javascript node.js joi


【解决方案1】:

自版本 v10 起,joi.format() 已被删除,您可以改用 joi-date-extensions 它提供了这样的验证助手:

Joi.date().format('YYYY-MM-DD');

【讨论】:

    猜你喜欢
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 2018-06-26
    • 2015-07-23
    相关资源
    最近更新 更多