none
VALIDAR CONTRASEÑA MIENTRAS SE ESCRIBE RRS feed

  • Pregunta

  • Les planteo la situacion tengo un textbox para ingresar una contraseña y label que indica si se escribieron numeros o no en la contraseña, estoy utilizando el siguiente codigo en el evento textchanged, para que asi se valide mientras digito la contraseña

            For Each c As Char In contraseña.Text
    
                If (Char.IsNumber(c)) Then
                    numeros.Visible = False
                    Continue For
                Else
                    numeros.Visible = True
                End If
    
            Next
            If contraseña.TextLength <= 8 Then
                contraseña.BackColor = Color.Red
                longitud.Visible = True
            Else
                contraseña.BackColor = Color.White
                longitud.Visible = False
            End If
    

    La idea es que si se escribe un numero el label se oculte, de lo contrario este visible, pero el problema surge que si yo escribo un numero y luego vuelvo a escribir una letra, el label vuelve a aparecer ejemplo:

    escribo aaa1 : label oculto

    escribo 1234 : label oculto

    escribo aa11: label oculto escribo aa11a : label vuelve a aparecer siendo que ya hay un numero en la cadena 

    Como podria solucionarlo, o que esta mal en mi codigo, toda ayuda es bienvenida, de antemano gracias. 

    domingo, 3 de febrero de 2019 22:38

Todas las respuestas

  • Hola El_Vena tu problema se resuelve fácil solo quita el Else del primer if que aparece y también quita el Numeros.visible = true porque con eso le estas diciendo si el valor ingresado en el textbox es un numero que me ponga el label invisible pero de lo contrario si es una letra que otra ves lo ponga visible por lo tanto cada ves que pongas una letra el codigo buelve analizar si fue un numero o letra y ejecuta una de las dos opciones

    saludos y buenas noches

    lunes, 4 de febrero de 2019 0:55
  • Y si yo escribo por ejemplo :

    aaa111 debería estar oculto el label, pero si borro los números quedando aaa debería volver a aparecer porque no se encuentra ningún número en la cadena, como podría lograr eso?

    martes, 5 de febrero de 2019 14:54
  • dentro del evento TextChanged pones el if por ejemplo

     Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
            For Each ch As Char In TextBox1.Text.ToCharArray
                If IsNumeric(ch) Then
                    Label1.Visible = False
                Else
                    Label1.Visible = True
                End If
            Next
        End Sub

    eso comprueba cada ves que ingreses una tecla si es un numero o letra y si es solo letras o solo numeros y ejecuta una de dos

    miércoles, 6 de febrero de 2019 14:30