feat(upload): validate MIME type and size on file replace in DocumentEditLayout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import type { Snippet } from 'svelte';
|
||||
import { createFileLoader } from '$lib/hooks/useFileLoader.svelte';
|
||||
import { m } from '$lib/paraglide/messages.js';
|
||||
import { countRequiredFilled } from '$lib/utils/requiredFields';
|
||||
import { validateFile } from '$lib/utils/validateFile';
|
||||
import DocumentViewer from '$lib/components/DocumentViewer.svelte';
|
||||
import UploadZone from '$lib/components/document/UploadZone.svelte';
|
||||
import WhoWhenSection from '$lib/components/document/WhoWhenSection.svelte';
|
||||
@@ -113,6 +114,15 @@ function cancelUpload() {
|
||||
async function handleReplaceFile(e: Event) {
|
||||
const file = (e.currentTarget as HTMLInputElement).files?.[0];
|
||||
if (!file) return;
|
||||
const validationError = validateFile(file);
|
||||
if (validationError === 'type') {
|
||||
uploadError = m.error_unsupported_file_type();
|
||||
return;
|
||||
}
|
||||
if (validationError === 'size') {
|
||||
uploadError = m.error_file_too_large();
|
||||
return;
|
||||
}
|
||||
await handleFile(file);
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user