<p id="app"></p>
const app = document.getElementById("app");
const isValidDateString = (str, format) => {
const formatString = dateFns.format(
dateFns.parse(str, format),
format
)
return formatString === str;
}
app.innerHTML = `
<ul>
<li>2022-13-01: moment=${moment('2022-13-01','YYYY-MM-DD',true).isValid()} / date-fns=${dateFns.isValid(new Date('2022-13-01'))} / isValidDateString=${isValidDateString('2022-13-01', 'YYYY-MM-DD')}</li>
<li>2022-01-32: moment=${moment('2022-01-32','YYYY-MM-DD',true).isValid()} / date-fns=${dateFns.isValid(new Date('2022-01-32'))} / isValidDateString=${isValidDateString('2022-01-32', 'YYYY-MM-DD')}</li>
<li>2022-02-29: moment=${moment('2022-02-29','YYYY-MM-DD',true).isValid()} / date-fns=${dateFns.isValid(new Date('2022-02-29'))} / isValidDateString=${isValidDateString('2022-02-29', 'YYYY-MM-DD')}</li>
<li>2022-04-31: moment=${moment('2022-04-31','YYYY-MM-DD',true).isValid()} / date-fns=${dateFns.isValid(new Date('2022-04-31'))} / isValidDateString=${isValidDateString('2022-04-31', 'YYYY-MM-DD')}</li>
</ul>
`;
This Pen doesn't use any external CSS resources.