Autorizzazione solo di caratteri specifici in una casella di testo (VB)

di Christian Wenz

Scarica il PDF

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 validi
  • LowercaseLetters solo lettere minuscole
  • Numbers solo cifre
  • UppercaseLetters 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

È possibile immettere solo cifre (fare clic per visualizzare l'immagine a dimensione intera)