zodでfile uploadのvalidation
file uploadのvalidation
例
code:ts
const MAX_MB = 5;
const MAX_FILE_SIZE = MAX_MB * 1024 * 1024;
const ACCEPTED_IMAGE_TYPES = [
'image/jpeg',
'image/jpg',
'image/png',
'image/webp',
];
const validate = z
.instanceof(File)
.refine(
file => file.size <= MAX_FILE_SIZE,
ファイルサイズが大きすぎます。${MAX_MB}MB以下のファイルを選択してください,
)
.refine(
file => ACCEPTED_IMAGE_TYPES.includes(file.type),
'jepg, jpg, png, webpのいずれかの画像を選択してください',
);