Skip to content

literal ​

恰好等于某个特定值:字符串、数字或 true/false。使用严格比较(===)。

签名 ​

ts
function literal<const T extends string | number | boolean>(value: T, msg?: Message): Schema<T>

参数 ​

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

错误代码 ​

代码触发条件默认信息
required值为空Required
literal值不匹配Must be {expected}

可以修改这些文本:见 错误信息与国际化。

注意事项 ​

  • 结果类型就是字面量本身:literal('admin') 的类型是 'admin',而不是 string。
  • literal('') 不起作用:空字符串被视为未填写。见 空值。

示例 ​

同意条款 ​

ts
const Signup = object({
  terms: literal(true, '请同意条款'),
});

API 版本 ​

ts
const Payload = object({ version: literal(2), data: unknown() });

另请参阅 ​