我有一个问题,我需要验证一个图像与zod
.我正在寻找3小时.我找不到验证图像?有人能帮我解决这个问题吗?zod
必须有图像验证是?
const payloadSchema = z.object({
image: z.record(z.string()),
})
字符串
找到这样的东西,但我怎么能添加的图像是3 MB的最大值,它的类型必须是“jpg
““png
“或“gif
“
我有一个问题,我需要验证一个图像与zod
.我正在寻找3小时.我找不到验证图像?有人能帮我解决这个问题吗?zod
必须有图像验证是?
const payloadSchema = z.object({
image: z.record(z.string()),
})
字符串
找到这样的东西,但我怎么能添加的图像是3 MB的最大值,它的类型必须是“jpg
““png
“或“gif
“
4条答案
按热度按时间4nkexdtk1#
试试这个,它看起来很简单,它对我很有效:
字符串
然后错误应该显示为:
型
需要注意的一点是,你从输入中得到的是什么类型的对象。检查它是File对象还是File[]数组。我将它与react-dropzone一起使用,所以我将其配置为保存单个File对象。如果它是数组,则必须将模式更改为:
型
py49o6xq2#
我遇到了和你一样的问题,并发现了一个更简单的方法来解决它。
我也在使用Dropzone,但如果你使用File类型,只要它不是矢量文件,概念是一样的。只是不要使用“transform”,并理解细化将是针对单个文件。
字符串
qrjkbowd3#
我将通过为
File
的zod模式添加一个改进来实现这一点。superRefine
帮助程序可以用于将新问题附加到现有模式作为后续验证。字符串
这应该使用您定义的参数进行验证,但假设您在要验证的
File
上有一个句柄。如果您从<input type="file" />
元素获取文件,则可以通过向输入添加accept
属性来避免验证MIME类型。wwwo4jvm4#
试试这个。它为我工作。也请检查你是否有一个文件数组或文件对象,并作出相应的更改。我还添加了文件需要验证,如果需要的话
字符串