Uno dei problemi principali nella costruzione dell'interfaccia utente è il controllo del formato dei dati immessi dall'utente. Per questo motivo l'uso dei controlli di validazione si rivela di fondamentale importanza per verificare che i valori immessi siano corretti e, in taluni casi, non soltanto da un punto di vista sintattico.
Per verificare il formato di una data inserita tramite una casella di testo, è importante non solo verificare che il dato immesso sia composto da giorno, mese e anno e formattato nel modo corretto, ma anche che la data risultante sia effettivamente una data esistente, considerando gli anni bisestili e i mesi in cui il numero dei giorni è minore, a seconda dei casi. Per eseguire la validazione è possibile utilizzare direttamente un'espressione regolare e associarla tramite un RegularExpressionValidator al controllo di input.
Esempio: la regex utilizzata dal controllo di validazione accetta le date nel formato gg/mm/aaaa. Accetta "18/08/2005", non accetta "31/02/2006".
<asp:TextBox ID="DateTextBox" runat="server" /> <asp:RegularExpressionValidator ID="DateRegexValidator" runat="server" ControlToValidate="DateTextBox" ValidationExpression="(((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])(\d{4}))|((29)(\.|-|\/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))" />
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire del codice personalizzato al click di una checkbox in Blazor
Correlare i log in un'applicazione distribuita con ASP.NET Core
L'agenda di #netconfit è online => https://aspit.co/netconfit-20 3 track, tante sessioni e una keynote speciale di @shanselman per la più importante conferenza in lingua italiana su .NET! Vi aspettiamo il 24/11. Iscrizioni sempre aperte! #donet #aspnet #netconf
Rigenerare il database negli integration test di ASP.NET Core
.NET Conference Italia 2020
Testare le impostazioni CORS di un'applicazione ASP.NET Core
Eseguire integration test di un progetto ASP.NET Core
Eseguire lo shutdown pulito di un'applicazione ASP.NET Core
Effettuare il tracing asincrono delle chiamate a un'applicazione ASP.NET Core
Creare API GraphQL con ASP.NET Core e HotChocolate
Restituire il correlation ID in caso di errore in ASP.NET Core Web API
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Creare un record in C#
- Winget: un nuovo package manager per Windows
- il 18/02 c'è il #container & #devops day! https://aspit.co/ContainerDevOpsDay-21 Le iscrizioni sono sempre aperte e la Call For Paper è attiva fino al 28/01! #aspilive #cfp
- Attesa e validazione manuale nelle pipeline YAML di Azure DevOps
- Utilizzare il CSS Grid Model per creare il layout di un sito
- Montare una file share con Azure Container Instance