Day.jsで日付の妥当性は isValid() を使うとできます。しかし、検索をすると使えない(日付の検証には使えない。)と結果が出てきます。それは誤りで、plugin を利用すれば可能です。customParseFormat を追加しましょう。
ポイント
- プラグイン customParseFormat を追加。
- dayjs() の第3引数 strict に true を指定。
const dayjs = require('dayjs');
// プラグイン 追加
const customParseFormat = require('dayjs/plugin/customParseFormat');
dayjs.extend(customParseFormat);
console.log( dayjs( '20210102', 'YYYYMMDD' ).isValid() ); // => true
console.log( dayjs( '20210132', 'YYYYMMDD' ).isValid() ); // => true
console.log( dayjs( '20210102', 'YYYYMMDD', true ).isValid() ); // => true
console.log( dayjs( '20210132', 'YYYYMMDD', true ).isValid() ); // => false
console.log( dayjs( '2021013a', 'YYYYMMDD', true ).isValid() ); // => false