Permitir somente determinados caracteres em uma caixa de texto (VB)
por Christian Wenz
ASP.NET controles de validação podem garantir que apenas determinados caracteres sejam permitidos na entrada do usuário. No entanto, isso ainda não impede que os usuários digitem caracteres inválidos e tentem enviar o formulário.
Visão geral
ASP.NET controles de validação podem garantir que apenas determinados caracteres sejam permitidos na entrada do usuário. No entanto, isso ainda não impede que os usuários digitem caracteres inválidos e tentem enviar o formulário.
Etapas
O ASP.NET Kit de Ferramentas de Controle AJAX contém o FilteredTextBox
controle que estende uma caixa de texto. Depois de ativado, somente um determinado conjunto de caracteres pode ser inserido no campo.
Para que isso funcione, primeiro precisamos, como de costume, do AJAX ScriptManager
ASP.NET que carrega as bibliotecas JavaScript que também são usadas pelo ASP.NET Kit de Ferramentas de Controle AJAX:
<asp:ScriptManager ID="asm" runat="server" />
Em seguida, precisamos de uma caixa de texto:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Por fim, o FilteredTextBoxExtender
controle cuida de restringir os caracteres que o usuário tem permissão para digitar. Primeiro, defina o TargetControlID
atributo como o ID
TextBox
do controle . Em seguida, escolha um dos valores disponíveis FilterType
:
Custom
Padrão; você precisa fornecer uma lista de caracteres válidosLowercaseLetters
letras minúsculas somenteNumbers
somente dígitosUppercaseLetters
letras maiúsculas somente
Se o Custom FilterType
for usado, a ValidChars
propriedade deverá ser definida e fornecer uma lista de caracteres que podem ser digitado. A propósito: se você tentar colar texto na caixa de texto, todos os caracteres inválidos serão removidos.
Aqui está a marcação para o FilteredTextBoxExtender
controle que permite apenas dígitos (algo que também teria sido possível com FilterType="Numbers"
):
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Execute a página e tente inserir uma letra se o JavaScript estiver habilitado, ele não funcionará; no entanto, os dígitos aparecem na página. No entanto, observe que a proteção FilteredTextBox
fornece não é à prova de marcadores: se o JavaScript estiver habilitado, todos os dados poderão ser inseridos na caixa de texto, portanto, você precisará usar meios de validação adicionais, ou seja, ASP. Controles de validação do NET.
Somente dígitos podem ser inseridos (Clique para exibir imagem em tamanho real)