00
:
00
:
00
:
00
Corso SEO AI - Usa SEOEMAIL al checkout per il 30% di sconto

Parsing e Validazione

Metodi di Parsing

Una volta definito lo schema, devi passargli i dati.

.parse(data)

Il metodo standard. Se i dati sono validi, restituisce una copia deep-cloned dei dati (tipizzata). Se non lo sono, lancia un ZodError.

```typescript const stringSchema = z.string(); try { stringSchema.parse(123); } catch (err) { if (err instanceof z.ZodError) { console.log(err.issues); } } ```

.safeParse(data)

Non lancia eccezioni. Restituisce un oggetto discriminato dal campo success. È il metodo preferito per la validazione di form o input API.

```typescript const result = stringSchema.safeParse(123);

if (!result.success) { // result.error contiene l’errore console.log(result.error.format()); } else { // result.data contiene i dati validati console.log(result.data); } ```

.parseAsync(data) e .safeParseAsync(data)

Se usi validazioni asincrone (es. refine che controlla un database), devi usare le versioni async.

```typescript const userId = z.string().refine(async (id) => { return await db.userExists(id); }, “User not found”);

await userId.parseAsync(“123”); ```