C sharp - Ayuda validar datos de un Textbox

 
Vista:

Ayuda validar datos de un Textbox

Publicado por puntoYcoma (1 intervención) el 12/12/2008 22:01:29
Buenas noches,

A ver si alguien me puede ayudar un poco. Tengo un formulario en el que hay un TextBox y un button para enviar el contenido del textbox a una variable. Este Textbox solo tendria que aceptar letras pero no numeros solos, es decir, me tiene que permitir la entrada de numeros si tambien he introducido alguna letra.Yo he pensado en poner el "boton.enabled=false" pero en el momento que detecte una letra se ponga a "true". Todo esto utilizando el evento "KeyPress".

Muchas gracias de antemano
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Ayuda validar datos de un Textbox

Publicado por Leonardo Josué (25 intervenciones) el 15/12/2008 22:53:30
Hola puntoYcoma... mira, no entendí muy bien, pero espero que esto te pueda ayudar...

Yo utilizo esta función para validar nombres de Identificadores, donde el primer caracter debe ser una letra y después puede venir letras o números, es decir (hola, c123, dsf234sf) son todos identificadores válidos, pero (1134, 2fasd324, 234.2342) no lo son.

Lo que hice fue ejecutar una pequeña rutina de javascript y le agregue un atributo al TextBox:

En el Head de mi página HTML puse esto:

<script language="javascript" type="text/javascript">
function ValidaCampo(CajaTexto)
{
var ExpReg = /^(w){1,}(wd){0,}$/;
var Texto = CajaTexto.getAttribute("Value");
if (event.keyCode >= 48 && event.keyCode <= 58)
{
if (!(Texto.match(ExpReg)))
{
event.keyCode = 8
}
}
}
</script>

y en el codebehind, en el PageLoad puse esto:

this.TextBox1.Attributes.Add("OnKeyDown", "javascript:ValidaCampo(this)");

Con esta sencilla rutina, cuando se presiona una tecla de número (ASCII 48 a 58) valido que se haya capturaro al menos una letra al inicio de mi identificador. Si es así entonces permito la concatenación de ese caracter. En caso de que mi cadena esté vacía (es decir no se ha capturaro ningún caracter) entonces borro el caracter que se acaba de capturar (Event.keyCode = 8 equivale a presionar la tecla back)

Espero que esto te pueda ayudar. Creo que la idea sería esa, sólo tendías que construir bien tu expresión regular.

Saludos
Leonardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda validar datos de un Textbox

Publicado por puntoYcoma (1 intervención) el 19/12/2008 21:15:23
Muchas gracias Leonardo! Era justo lo que buscaba, solo he necessitado 4 retoques pequeños.

Muy amable, un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar