如何用外部接口/类型扩展zod的类型。我尝试使用z.custom<>
,但无法获得预期的结果。
这里的类型无关紧要,因为它是任意的,我想得到这个类型,并在zod中使用它。
import * as z from 'zod'
import { MyType } from '.myType'
const mySchema = z.object({
custom: z.custom<MyType>()
})
字符串
如何用外部接口/类型扩展zod的类型。我尝试使用z.custom<>
,但无法获得预期的结果。
这里的类型无关紧要,因为它是任意的,我想得到这个类型,并在zod中使用它。
import * as z from 'zod'
import { MyType } from '.myType'
const mySchema = z.object({
custom: z.custom<MyType>()
})
字符串
1条答案
按热度按时间m1m5dgzv1#
如文件所述:If you don't provide a validation function, Zod will allow any value. This can be dangerous!
通常/推荐的Zod方法是将模式创建为
const MyType = z./* [...] */
,然后将类型提取为type MyType = z.infer<typeof MyType>;
。如果你想走另一条路(这对很多人来说更有意义,因为它是一个松散的耦合),有像
ts-to-zod
这样的东西可以自动为你的接口和类型创建模式。