Я проверяю, действителен ли формат даты. Почему этот формат действителен?
alert(moment('16-jun-199', 'DD-MMM-YYYY').isValid())
Почему это дает мне правду. Это должно быть ложным. вот мой код
http://plnkr.co/edit/ZH2kjC9QWwbdLwmvH2Tp?p=preview, где я делаю неправильный.formate должен быть "DD-MMM-YYYY"
Вы можете попробовать это
moment('16-jun-199', 'DD-MMM-YYYY',true).isValid())
Примечание: дополнительный флаг true для strict
разборки. в котором говорится о том, чтобы не использовать подстановочные знаки и использовать точное соответствие.
Moment parser очень прощает, и это может привести к нежелательному/неожиданному поведению.
Например, можно наблюдать следующее поведение:
moment('2016 is a date', 'YYYY-MM-DD').isValid() //true, 2016 was
matched
Начиная с версии 2.3.0, вы можете указать логическое значение для последнего аргумента, чтобы заставить Moment использовать строгий синтаксический анализ. Строгий разбор требует, чтобы формат и ввод совпадали точно, включая метрики.
moment('It is 2012-05-25', 'YYYY-MM-DD').isValid(); // true
moment('It is 2012-05-25', 'YYYY-MM-DD', true).isValid(); // false
moment('2012-05-25', 'YYYY-MM-DD', true).isValid(); // true
moment('2012.05.25', 'YYYY-MM-DD', true).isValid(); // false
Источник: https://momentjs.com/docs/