Composables
Composables di @pzeta/vue-form per validazione reattiva, fetch dati remoti e gestione opzioni — useValidation, useFieldValidation, useRemoteFetch, useRemoteSetup, useOptionLabel.
Composables disponibili
| Composable | Descrizione |
|---|---|
| useValidation | Validazione reattiva di un valore con regole stringa ('required|email') |
| useFieldValidation | Validazione integrata per i wrapper di campo (errori, traduzione, validation on-blur) |
| useRemoteFetch | Fetch dati remoti con cache, gestione loading/error per i componenti *Remote |
| useRemoteSetup | Setup unificato (props + fetchFn o endpoint + filtri) condiviso da tutti i *Remote — esposto per componenti custom |
| useOptionLabel | Estrazione label da oggetti opzione con supporto template stringa e dot-notation |
MFE / PostgREST: per leggere da PostgREST usa la prop
endpoint dei componenti Remote — vedi Sorgente dati endpoint. Il trasporto viene risolto dal contesto della shell e i moduli PostgREST sono caricati con import() solo quando servono, quindi le peer optional @pzeta/postgrest e @pzeta/mfe-contracts restano fuori dal grafo di chi non le usa.Se ti serve la stessa composizione in codice tuo, il barrel espone createEndpointFetch, parseEndpoint, resolveRemoteTransport e le utility dei filtri (buildPostgrestFilters, toPostgrestValue, isPostgrestExpression, POSTGREST_OPERATORS).import { buildPostgrestFilters, resolveRemoteTransport } from '@pzeta/vue-form'
useRemoteFetchMFE e useRemoteFetchPostgREST non sono raggiungibili. Restano fuori dal barrel per non trascinare le peer optional, ma il package non espone alcun sub-path (exports dichiara solo ., ./style.css e ./styles/*): l'import @pzeta/vue-form/composables/useRemoteFetchMFE non risolve. Usa la prop endpoint, che copre gli stessi casi.i18n exports (non composables)
@pzeta/vue-form espone direttamente i dizionari di traduzione e i tipi correlati. Non sono composables ma export statici di ./i18n — utili per accesso diretto, fallback SSR o estensione del dizionario:
import { it, loadEn } from '@pzeta/vue-form'
import type { TranslationDictionary, ValidationMessages, UiMessages } from '@pzeta/vue-form'
| Export | Tipo | Descrizione |
|---|---|---|
it | TranslationDictionary | Dizionario italiano completo, precaricato (validation + ui) |
loadEn | () => Promise<{ default: TranslationDictionary }> | Lazy loader del dizionario inglese |
TranslationDictionary | type | Interfaccia che combina ValidationMessages + UiMessages |
ValidationMessages | type | Solo messaggi dei validatori |
UiMessages | type | Solo messaggi UI dei componenti |
Per la struttura completa delle chiavi validation.* e ui.* vedi useUiTranslations.