Skip to content

omit ​

创建不包含列出字段的新对象 Schema。

签名 ​

ts
function omit<S, K extends keyof S>(schema: ObjectSchema<S>, keys: K[]): ObjectSchema<Omit<S, K>>

参数 ​

参数类型说明
schemaObjectSchema由 object 创建的 Schema
keysstring[]要移除的字段

注意事项 ​

默认情况下多余字段会从 data 中删除(strip 模式),因此 omit 也适用于 API 响应:让数据库记录通过不含密码的 Schema,密码就不会发送给客户端。

示例 ​

公开资料 ​

ts
const User = object({
  id: number(),
  name: string(),
  email: string(),
  password: string(),
});

const PublicUser = omit(User, ['password', 'email']);

parse(PublicUser, userFromDb); // { id: 1, name: 'Ivan' }

另请参阅 ​