Skip to content

date ​

包含有效日期的 Date 对象。

签名 ​

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

参数 ​

参数类型说明
msgMessage自定义信息。替换该 Schema 所有错误的默认信息

接受的值 ​

getTime() 不为 NaN 的 Date 实例。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: '结束时间早于开始时间' }

另请参阅 ​