Note di aggiornamento
Questa pagina elenca le modifiche di form0 che richiedono un tuo intervento. Se una versione non compare qui, puoi installarla senza cambiare il codice. Per le nuove funzionalità e le correzioni, consulta le note di rilascio di form0-core, form0-react, form0-react-native e form0-cli.
Le modifiche sono elencate dalla più recente. Per aggiornare, controlla tutte le voci più recenti delle versioni che usi oggi.
Trova le modifiche che ti riguardano
Confronta le versioni che usi con ogni riga. Una riga ti riguarda se la tua versione è precedente a quella indicata. La data è quella di pubblicazione del primo pacchetto con la modifica. Un pacchetto non elencato non è interessato.
| Data | Modifica | Versioni |
|---|---|---|
2026-10-31 | Le righe vuote salvate rimangono nel record | core 0.11.0, react 0.10.0, react-native 0.11.0, cli 0.10.0 |
2026-10-30 | I valori dei campi vengono controllati per tipo | core 0.10.0, react 0.9.0, react-native 0.10.0, cli 0.10.0 |
2026-10-30 | Gli schemi che cancellano i valori nascosti richiedono tutti i pacchetti aggiornati | core 0.10.0, react 0.9.0, react-native 0.10.0, cli 0.10.0 |
2026-10-29 | I campi di scelta richiedono identificatori testuali in SETVALUE() | core 0.9.0, react 0.6.0, react-native 0.7.0, cli 0.9.0 |
2026-10-28 | FormRenderer richiede recordKind | react 0.5.0, react-native 0.6.0 |
2026-10-27 | I gestori non possono modificare un record in sola lettura | core 0.8.0, react 0.5.0, react-native 0.6.0, cli 0.8.0 |
2026-10-22 | Le condizioni possono leggere solo il proprio record e i suoi genitori | core 0.6.0 |
2026-10-08 | Gli editor di riga su mobile non eseguono più gli eventi del record | react-native 0.3.0 |
Aggiorna i pacchetti insieme
Ogni binding dipende da una versione corrispondente di form0-core, quindi installali insieme:
- React:
npm install form0-react@latest form0-core@latest - React Native:
npm install form0-react-native@latest form0-core@latest - CLI:
npm install --global form0-cli@latest
Le righe vuote salvate rimangono nel record
Pubblicato: 2026-10-31
Si applica da: form0-core 0.11.0, form0-react 0.10.0, form0-react-native 0.11.0,
form0-cli 0.10.0
Intervieni se una sezione ripetibile ha solo campi facoltativi e il tuo server o il tuo database
si aspetta una risposta in ogni riga. Un utente può
aggiungere una riga e salvarla senza scrivere nulla. Prima quella riga veniva tolta dal record
inviato. Ora rimane, con il suo identificatore, i suoi timestamp e risposte null.
Cosa fare: Contrassegna un campo della riga come required, così la riga non può essere salvata
vuota, oppure gestisci queste righe sul tuo server.
Righe vuote salvate mostra il risultato.
Verifica: Apri il modulo, aggiungi una riga e salvala senza scrivere nulla. Fai clic su Submit e conferma che il tuo server accetta il record.
I valori dei campi vengono controllati per tipo
Pubblicato: 2026-10-30
Si applica da: form0-core 0.10.0, form0-react 0.9.0, form0-react-native 0.10.0,
form0-cli 0.10.0
Intervieni se la tua applicazione o i tuoi record salvati contengono valori che non corrispondono al tipo del campo. form0 non li converte, quindi un campo visibile con uno di questi valori mostra un errore e blocca Submit:
| Campo | Ora è un errore | Usa invece |
|---|---|---|
NumericField | "12" | 12 |
TextField | 42 | "42" |
DateField | 2026-02-30, not-a-date | Una data reale come YYYY-MM-DD |
TimeField | 24:00 | HH:MM o HH:MM:SS |
Cosa fare: Converti i valori prima di passarli a initialValues, initialSnapshot,
overrideValues o SETVALUE(), e correggi i record salvati che li contengono. Anche un server che
chiama prepareSubmission() rifiuta questi valori.
Verifica: Salva un campione dei tuoi valori come values.json ed esegui questo comando. Ogni
problema compare in errors nell'output:
Code
Gli schemi che cancellano i valori nascosti richiedono tutti i pacchetti aggiornati
Pubblicato: 2026-10-30
Si applica da: form0-core 0.10.0, form0-react 0.9.0, form0-react-native 0.10.0,
form0-cli 0.10.0
Intervieni se aggiungi visible_preserve_value a uno schema. I pacchetti precedenti rifiutano
l'attributo con questo errore:
Code
Cosa fare: Aggiorna tutti i pacchetti che leggono lo schema prima di aggiungere l'attributo,
compresi form0-core sul tuo server e form0-cli sulla tua macchina.
Verifica: Esegui questo comando. Termina con stato 0:
Code
I campi di scelta richiedono identificatori testuali in SETVALUE()
Pubblicato: 2026-10-29
Si applica da: form0-core 0.9.0, form0-react 0.6.0, form0-react-native 0.7.0, form0-cli
0.9.0
Intervieni se un gestore passa a SETVALUE() un valore di scelta come numero, come booleano o
con una forma errata.
Cosa fare: SingleChoiceField e BooleanField accettano un identificatore testuale.
MultiChoiceField accetta un array di identificatori testuali.
Code
Un gestore che scrive in un campo non raggiungibile, come un campo di una
riga di sezione ripetibile da un gestore del modulo
principale, ora perde tutte le sue chiamate a SETVALUE(), non solo quella.
Verifica: Cerca SETVALUE( nei tuoi schemi, attiva ogni gestore e verifica che il campo mostri
il valore. Versioni precedenti di form0-react possono lasciare il campo invariato senza messaggi
console in modalità gestita. I binding con eventDiagnostics segnalano questi errori per impostazione
predefinita; controlla anche il modulo.
FormRenderer richiede recordKind
Pubblicato: 2026-10-28
Si applica da: form0-react 0.5.0, form0-react-native 0.6.0
Intervieni se usi FormRenderer di form0-react o form0-react-native. Senza recordKind,
genera questo errore:
Code
Cosa fare: Imposta recordKind su "new" per un nuovo record, oppure su "existing" quando
apri un record salvato:
Code
Gli eventi del ciclo di vita e gli eventi di focus e blur dei campi ora sono attivi per impostazione
predefinita, quindi i relativi gestori iniziano a essere eseguiti. I controlli integrati non
emettono click automaticamente. Per mantenere il comportamento precedente, disattiva questi
eventi:
Code
Verifica: Apri il modulo e verifica che venga visualizzato senza l'errore. Se usi gestori del ciclo di vita, verifica che ognuno venga eseguito una sola volta.
I gestori non possono modificare un record in sola lettura
Pubblicato: 2026-10-27
Si applica da: form0-core 0.8.0, form0-react 0.5.0, form0-react-native 0.6.0, form0-cli
0.8.0
Intervieni se un gestore di load-record chiama SETVALUE() e il modulo può aprirsi in sola
lettura. load-record viene eseguito in entrambe le modalità.
Cosa fare: Sposta la scrittura in new-record o edit-record:
Code
Puoi anche mantenere il gestore e controllare event.mode:
Code
Verifica: Apri il modulo con mode="readonly". Se un gestore scrive ancora, la console mostra
questo messaggio e il modulo si apre senza le modifiche di quel gestore:
View-mode handlers cannot change record data.
Le condizioni possono leggere solo il proprio record e i suoi genitori
Pubblicato: 2026-10-22
Si applica da: form0-core 0.6.0
Intervieni se il tuo schema ha sezioni ripetibili e una condizione legge un campo di riga
dall'esterno di quella riga. form0-core rifiuta lo schema con un errore come questo:
Code
Cosa fare: Fai puntare la condizione a un campo della stessa riga, di una riga genitore o del modulo principale. Ambiti padre e figlio contiene un esempio completo.
Verifica: Esegui questo comando per ogni schema. Termina con stato 1 e mostra l'errore se una
condizione è fuori ambito:
Code
Gli editor di riga su mobile non eseguono più gli eventi del record
Pubblicato: 2026-10-08
Si applica da: form0-react-native 0.3.0
Intervieni se aggiorni da form0-react-native 0.2.x e un gestore si aspetta che load-record,
edit-record o change vengano eseguiti dentro una riga ripetibile.
Cosa fare: Sposta la logica di riga negli eventi ripetibili, usando il data_name della tua
sezione ripetibile:
Code
Verifica: Apri una riga e verifica che il gestore venga eseguito. I gestori del modulo principale non vengono più eseguiti quando si apre una riga.