Con questa serie di script parleremo della funzionalità, all'interno di Angular, per avere una tipizzazione delle form. Parlando in contesto Angular: ogni elemento all'interno del FormGroup avrà un suo tipo specifico. Questa condizione tornerà utile in fase di lettura e assegnazione, riuscendo ad evitarci possibili errori sui tipi e velocizzando lo sviluppo, e sarà automatico: non avremo bisogno di modificare alcuna riga di codice! In questa piccola introduzione andremo a vedere i cambiamenti, i possibili errori che deriveranno dall'aggiornamento e come si esegue una corretta migrazione.
Iniziamo dando una definizione di massima sui Reactive form: che cosa sono? In Angular abbiamo due diverse modalità per definire i form, la prima proveniente da un modulo chiamato FormsModule, la quale permette di strutturare e gestire un form direttamente all'interno dell'HTML, sfruttando attributi personalizzati per ogni controllo, metodologia indicata per form con una struttura semplice e senza complesse validazioni.
La seconda tipologia di form, definita all'interno di ReactiveFormsModule, permette una definizione di un oggetto form, o FormGroup, all'interno del quale inserire vari controlli, FormControl. Il form verrà poi collegato tramite degli attributi al form HTML, e sarà il framework a gestirne il valore, lo stato e la validazione sulla base di quanto abbiamo definito.
profileForm = new FormGroup({
firstName: new FormControl(''),
lastName: new FormControl(''),
});Il FormGroup ci permetterà di controllare lo stato di un form così costruito.
<form [formGroup]="profileForm"> <label for="first-name">First Name: </label> <input id="first-name" type="text" formControlName="firstName"> <label for="last-name">Last Name: </label> <input id="last-name" type="text" formControlName="lastName"> </form>
Utilizzando la seguente istruzione potremmo ottenere i valori inseriti, strutturati allo stesso modo in cui abbiamo definito il form.
const firstName = profileForm.value.firstName; const lastName = profileForm.value.lastName;
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione delle issue type con GitHub
Come automatizzare il download dei report di billing da GitHub Enterprise
Utilizzare @property per animare nativamente un oggetto HTML tramite CSS
Impostare il tipo di supporto dei campi Json in Entity Framework con Sql Server
Utilizzo delle Feature flag in ASP.NET Core
Utilizzare AbortController per cancellare operazioni asincrone in JavaScript
Le cron expression di un workflow di GitHub
Configurare OpenAI in .NET Aspire
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Integrare OpenTelemetry direttamente in Azure Monitor
Gestione dei prompt file a livello di organizzazione aziendale in GitHub


