0 Tage Serie
javascript / expert
Snippet

Gehärtete Prop-Validierung zur Laufzeit und Integritätsprüfungen

TypeScript bietet Sicherheit zur Build-Zeit, aber die Integrität zur Laufzeit ist ebenso wichtig, besonders beim Umgang mit Daten von externen APIs oder unsicheren 'any'-Casts. Die Verwendung eines Schema-Validators wie Zod innerhalb eines reaktiven Svelte-Blocks stellt sicher, dass die Komponente frühzeitig abbricht oder Fehler elegant handhabt, wenn unerwartete Daten injiziert werden.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { onMount } from 'svelte';
import { z } from 'zod';
const UserSchema = z.object({
id: z.string().uuid(),
role: z.enum(['admin', 'editor', 'viewer']),
email: z.string().email()
});
export let userData;
$: {
try {
UserSchema.parse(userData);
} catch (e) {
console.error('Integrity violation:', e.errors);
throw new Error('Critical component state corruption');
}
}
svelte
Erklärung
1
UserSchema.parse(userData);
Validiert die Eingabe gegen ein striktes Schema und wirft bei Nichtübereinstimmung einen Fehler.
2
$: { ... }
Führt die Validierung jedes Mal neu aus, wenn sich das 'userData'-Prop ändert, um die kontinuierliche Integrität zu wahren.