我尝试使用 dayjs
验证生日,但其 isValid
对于不存在的日期返回 true
。有趣的是,moment
的 isValid
工作得很好。
dayjs('2019/02/31', 'YYYY/MM/DD').isValid() // true
moment('2019/02/31', 'YYYY/MM/DD').isValid() // false
由于 dayjs
的轻量级,我无法切换到 moment
知道如何解决这个问题吗?
最佳答案
2021 年 8 月:现在可以使用 .isValid()
方法检测这些无效日期,并将第三个参数作为 true 传递给 dayjs
构造函数:
dayjs('2019/02/31', 'YYYY/MM/DD').isValid() // true
dayjs('2019/02/31', 'YYYY/MM/DD',true).isValid() // false
关于这个严格解析参数的更多信息现在可以在 official doc 找到。 .
注意:在 Node.js
中,我必须在调用 isValid() 之前加载第一个 customParseFormat
插件才能接收预期的有效性结果:
const dayjs = require("dayjs");
var customParseFormat = require("dayjs/plugin/customParseFormat");
dayjs.extend(customParseFormat);
关于javascript - DayJS isValid 的行为与 Moment 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58216504/