Permitir solo determinados caracteres en un cuadro de texto (VB)
por Christian Wenz
Los controles de validación de ASP.NET pueden garantizar que solo se permiten determinados caracteres en la entrada de usuario. Sin embargo, esto no impide que los usuarios escriban caracteres no válidos e intenten enviar el formulario.
Información general
Los controles de validación de ASP.NET pueden garantizar que solo se permiten determinados caracteres en la entrada de usuario. Sin embargo, esto no impide que los usuarios escriban caracteres no válidos e intenten enviar el formulario.
Pasos
El Kit de herramientas de control de ASP.NET AJAX contiene el control FilteredTextBox
que extiende un cuadro de texto. Una vez activado, solo se puede escribir un determinado conjunto de caracteres en el campo.
Para que esto funcione, primero necesitamos, como es habitual, el control ScriptManager
de ASP.NET AJAX, que carga las bibliotecas de JavaScript que también se usan en el Kit de herramientas de control de ASP.NET AJAX:
<asp:ScriptManager ID="asm" runat="server" />
A continuación, necesitamos un cuadro de texto:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Por último, el control FilteredTextBoxExtender
se encarga de restringir los caracteres que el usuario puede escribir. En primer lugar, establezca el atributo TargetControlID
en el valor de ID
del control TextBox
. A continuación, elija uno de los valores FilterType
disponibles:
Custom
, predeterminado; debe proporcionar una lista de caracteres válidos.LowercaseLetters
, solo letras minúsculasNumbers
, solo dígitos.UppercaseLetters
, solo letras mayúsculas.
Si se usa el elemento Custom FilterType
, se debe establecer la propiedad ValidChars
y se debe proporcionar una lista de caracteres que se puedan escribir. Por cierto, si intenta pegar texto en el cuadro de texto, se quitan todos los caracteres no válidos.
Este es el marcado del control FilteredTextBoxExtender
que solo permite dígitos (algo que también habría sido posible con FilterType="Numbers"
):
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Ejecute la página e intente escribir una letra si JavaScript está habilitado, no funcionará; sin embargo, los dígitos aparecen en la página. Sin embargo, tenga en cuenta que la protección que proporciona FilteredTextBox
no es a prueba de viñetas: si JavaScript está habilitado, se puede escribir cualquier dato en el cuadro de texto, por lo que debe usar medios de validación adicionales, por ejemplo, controles de validación de ASP.NET.
Solo se pueden escribir dígitos (haga clic para ver la imagen a tamaño completo).