Skip to content

date ​

Объект Date с корректной датой.

Сигнатура ​

ts
function date(msg?: Message): Schema<Date>

Параметры ​

ПараметрТипОписание
msgMessageСвоё сообщение. Заменяет сообщения по умолчанию для всех ошибок этой схемы

Пропускает ​

Экземпляр Date, у которого getTime() не NaN. new Date('abc') не пройдёт.

Пустыми считаются undefined, null и '' — подробнее в разделе Пустые значения.

Коды ошибок ​

КодКогдаСообщение по умолчанию
requiredЗначение пустоеRequired
dateНе Date или некорректная датаMust be a valid date

Тексты можно поменять: см. Сообщения и локализация.

Даты из JSON ​

В JSON нет типа «дата» — с клиента на сервер даты приходят строкой ("2026-10-02"). Используйте coerce.date, он создаст Date из строки или числа.

Примеры ​

Период ​

ts
const Period = object({
  from: coerce.date(),
  to: pipe(coerce.date(), check((v, { parent }) => v >= new Date(parent.from), 'Конец раньше начала')),
});

validate(Period, { from: '2026-01-10', to: '2026-01-01' }).errors; // { to: 'Конец раньше начала' }

См. также ​