You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

社交媒体发帖表单:Zod的File数组TS验证转JS实现方法

将Zod的TypeScript验证代码转为JavaScript实现

在JavaScript中使用Zod时,不需要TypeScript的泛型语法(即<File[]>部分),直接通过z.custom()配合自定义校验逻辑就能实现相同的验证效果:

const postSchema = z.object({
  file: z.custom((value) => {
    // 验证输入是数组且每一项都是File类型
    return Array.isArray(value) && value.every(item => item instanceof File);
  }, {
    // 可选:自定义验证失败的提示文本
    message: "请上传File类型的数组"
  })
});

补充说明

  • 自定义校验函数会严格检查输入是否符合File数组的要求,和原TypeScript代码的校验目标完全一致。
  • 验证时可以用postSchema.parse(formData)直接抛出错误,或者用postSchema.safeParse(formData)获取包含成功/失败状态的结果对象,方便后续处理。

内容的提问来源于stack exchange,提问作者Puneet Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 04:25:54