We use moment.js as our date validation, and it works great.
We also use it in custom Angular controls, with date format strings. Very difficult stuff, but easy with moment.js.
However, we run in the situation that we want to allow '00-12-1980' as input for our date control (read below if you want to know why), where 00 is the day, and 12 is the month. Also '00-00-1980' and '00-00-0000' must be valid. (or 00/00/0000 if the format string is D/M/YYYY, etc)
Now in moment.js these dates are marked invalid, and I also didn't find any way to check these dates with moment.js with some sort of addition "Yeah, I know 00 is weird for a daynumber, but just allow it". Or say new moment('00-00-1980', 'D-M-YYYY') and then ask "what is the daynumber?" to do some validation later myself.
So without moment, I have to do all the parsing (including date format strings) myself, and that is a lot of work, and error prone too. So my question is: can I somehow work with moment.js and also allow these kind of dates?
So you wondered why we want to allow the odd dates of '00-00-1980'? It's becasue it's a search field, and the source system (official government sources) has these dates, from the goold old times when this input was allowed.