Я использую moment.js для анализа даты. http://momentjs.com/docs/#/parsing/string-format/Почему date.js разрешает дату с одним годом цифр при использовании строгого разбора?
Это должно подтвердить и преобразовать дату в формат, необходимый для моей базы данных. В моем тестировании я столкнулся с этой датой ввода «6-4-3», которая не должна быть действительной с данным форматом.
moment('6-4-3','YYYY-MM-DD',true).isValid(); //returns true
Итоговая дата в момент объекта "Mon Apr 03 0006 ...". Когда я вызываю isValid, он возвращает true. Я думаю, что эта дата должна считаться недействительной, потому что в ней слишком мало цифр для каждой части строки формата.
Я добавил regex.test в свой код, чтобы гарантировать, что даты имеют правильное количество цифр, но я думаю, что это должно обрабатываться по-разному в moment.js, когда строго верно.
Есть ли что-то, что мне не хватает здесь? Разве это не вопрос строгого разбора? Или есть причина, почему это предполагаемое поведение?
Не удалось воспроизвести: http://jsfiddle.net/0vwmL12u/ - какая версия instant.js вы используете? – apsillers
Использование версии 2.3.1 версии. – Mnebuerquo