Nello script #220 abbiamo visto come creare una template variable assegnandole il valore di una direttiva.
Nel caso specifico, abbiamo visto come abilitare il pulsante di submit della form solo se la form contiene campi validi. Questo tipo di User Experience non è sempre comoda, in quanto l'utente si trova un tasto disabilitato, senza capirne effettivamente il motivo. Oltre a questo, possiamo mostrare anche un messaggio di errore di validazione della form.
<form #frm="ngForm"> <!-- campi form --> <p *ngIf="!frm.valid">La form contiene errori</p> <button class="btn btn-primary" [disabled]="!frm.valid">Save</button> </form>
Questa soluzione migliora la User Experience, ma un messaggio generico di errore spesso non è sucfficiente a capire il problema. Nel prossimo script vedremo come generare messaggi di errore specifici per ciascuno dei campi della form.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare le collection expression per inizializzare una lista di oggetti in C#
Paginare i risultati con QuickGrid in Blazor
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Utilizzare un service principal per accedere a Azure Container Registry
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Reactive form tipizzati con modellazione del FormBuilder in Angular
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Implementare il throttling in ASP.NET Core
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)