JavaScriptの日付回りは色々罠があって知らないと悲しいことになります。
先日、yupのバリデーションにdate型のチェックはあっても日付の存在チェックはなかったのでカスタムバリデーションを用意したんですが、2月30日が3月になる現象に引っかかりました。そこは存在しない日付として Invalid Date 返してほしい。
date-fns の IsValidは存在チェックというわけではなさそうなので、出来ないのかなと思っていたらparseを使えばできるらしいです。そこはIsValidで出来てほしい。
できないと思ったから生JavaScriptで頑張ろうとしたのに。(そして罠にかかった)
ライブラリを使うときもよく調べよう。動作確認の時はうるう日とか2月30日もチェックしよう。
という自戒でした。