date
Объект Date с корректной датой.
Сигнатура
ts
function date(msg?: Message): Schema<Date>Параметры
| Параметр | Тип | Описание |
|---|---|---|
msg | Message | Своё сообщение. Заменяет сообщения по умолчанию для всех ошибок этой схемы |
Пропускает
Экземпляр 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: 'Конец раньше начала' }См. также
- coerce.date — дата из строки
- check — сравнение дат