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
I più letti di oggi
- Tutorial Entity Framework 6
- Tutorial Entity Framework
- Tutorial HTML5
- RT @aspitalia Partecipa al nostro evento #RCD4, fai un RT e sarai estratto per 1 copia di #sl3guidacompleta! http://u.aspitalia.com/bw
- Migliorare l'organizzazione delle risorse con Azure Policy
- Configurare più site su unico web role di Windows Azure
- Windows Phone 8 Developer Day - Milano
- ReBuild 2020 Live - Online
- ASPItalia.com Network: si aggiungono LINQItalia.com e SilverlightItalia.com
- Rilasciata la versione 1.0 di ASP.NET MVC