Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

passado

[Resolvido] TextBox Validating, problema de validação

Recommended Posts

Na sequencia do meu anterior problema arranjei forma de validar os emails e websites escritos na textbox e validados, e so se o texto fosse correcto os botoes apareciam, acontece que em modo de consulta tenho essas textbox com enabled=false, e assim ele nao faz a validação do texto e os botoes nao aparecem, o codigo que tenho é este:

 

Private Sub EmailTextBox_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles EmailTextBox.Validated
		' Pattern ou mascara de verificação
		Dim pattern As String = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"

		' Verifica se o email corresponde a pattern/mascara
		Dim emailAddressMatch As Match = Regex.Match(EmailTextBox.Text, pattern)

		' Caso corresponda
		If emailAddressMatch.Success Then
			bt_mail_contactos.Visible = True
		Else
			bt_mail_contactos.Visible = False
		End If
	End Sub

O que tenho de mudar ou onde tenho de colocar o codigo para cada vez que cai um texto novo na texto box ele faça o teste e os botoes apareçam ou nao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou sem o VS nessa máquina e não conheço esse evento.

Mas tenta algo como:

EmailTextBox.Validate();

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas onde escrevo isso? a intenção era a textbox ter um processo que validasse o email, quando a textbox esta enable a vereficação quando mudo o cursor e feita, mas quando esta enabled=false a vereficação se la for parar algum texto nao e feita...

 

No fundo o que quero e:

 

tenho uma BD de contactos, ao seleccionar na pesquisa um contacto para ser apresentado ele vereficar se o email esta num formato correcto, e se estiver o botao aparecer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você não faz isso em um método ao invés de colocar no evento do textbox?

Assim, toda vez que você precisar executar essa rotina, é só chamar o método.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma função simples, veja:

 

Private Sub ValidaEmail()
		' Pattern ou mascara de verificação
		Dim pattern As String = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"

		' Verifica se o email corresponde a pattern/mascara
		Dim emailAddressMatch As Match = Regex.Match(EmailTextBox.Text, pattern)

		' Caso corresponda
		If emailAddressMatch.Success Then
			bt_mail_contactos.Visible = True
		Else
			bt_mail_contactos.Visible = False
		End If
End Sub

A sintaxe pode estar errado pois VB não é meu forte. Agora em qualquer lugar que você precisar fazer essa validação chame ela:

//Blablablabla
ValidaEmail

Assim, você pode estabelecer em que momentos quer que a validação seja feita, consequentemente, vai habilitar/desabilitar o campo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.