Autorizzazione solo di caratteri specifici in una casella di testo (VB)
ASP.NET controlli di convalida possono garantire che solo determinati caratteri siano consentiti nell'input dell'utente. Tuttavia, ciò non impedisce agli utenti di digitare caratteri non validi e di tentare di inviare il modulo.
Panoramica
ASP.NET controlli di convalida possono garantire che solo determinati caratteri siano consentiti nell'input dell'utente. Tuttavia, ciò non impedisce agli utenti di digitare caratteri non validi e di tentare di inviare il modulo.
Passaggi
Il ASP.NET AJAX Control Toolkit contiene il FilteredTextBox
controllo che estende una casella di testo. Dopo l'attivazione, è possibile immettere nel campo solo un determinato set di caratteri.
Per il corretto funzionamento, è necessario prima di tutto il ASP.NET AJAX ScriptManager
che carica le librerie JavaScript usate anche da ASP.NET AJAX Control Toolkit:
<asp:ScriptManager ID="asm" runat="server" />
È quindi necessaria una casella di testo:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Infine, il FilteredTextBoxExtender
controllo si occupa di limitare i caratteri che l'utente può digitare. Impostare prima di tutto l'attributo TargetControlID
sull'oggetto ID
del TextBox
controllo . Scegliere quindi uno dei valori disponibili FilterType
:
Custom
Predefinito; è necessario fornire un elenco di caratteri validiLowercaseLetters
solo lettere minuscoleNumbers
solo cifreUppercaseLetters
solo lettere maiuscole
Custom FilterType
Se viene utilizzato , la ValidChars
proprietà deve essere impostata e fornire un elenco di caratteri che possono essere digitati. A proposito: se si tenta di incollare il testo nella casella di testo, tutti i caratteri non validi vengono rimossi.
Ecco il markup per il FilteredTextBoxExtender
controllo che consente solo le cifre (un elemento che sarebbe stato possibile anche con FilterType="Numbers"
):
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Eseguire la pagina e provare a immettere una lettera se JavaScript è abilitato, non funzionerà; le cifre vengono tuttavia visualizzate nella pagina. Si noti tuttavia che la protezione FilteredTextBox
fornita non è a prova di punto elenco: se JavaScript è abilitato, tutti i dati potrebbero essere immessi nella casella di testo, quindi è necessario usare mezzi di convalida aggiuntivi, ad esempio ASP. Controlli di convalida di NET.
È possibile immettere solo cifre (fare clic per visualizzare l'immagine a dimensione intera)