🦁
yupでfile size validation入れる
array()でやるとかの記事があるけどFileListが入ってくるのでそれだとうまく行かない
type scriptでやる場合はmixedにジェネリクスでFileListを指定してあげると良さそうです
const ValidationSchema = object().shape({
files: mixed<FileList>()
.required('ファイルが添付されていません')
.test('is-valid-size', `ファイル合計サイズが10MBを超えています`, (files: FileList):boolean => {
const totalSize = Array.from(files).reduce(
(size, file) => size + file.size,
0
);
return totalSize < 10000000;
})
});
Discussion