• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Weasel

[VB.NET 05] Validating e Validated

3 mensagens neste tópico

Boas, é assim, eu estava aqui a fazer uma form que serve para introduzir dados numa base de dados, e para validar o conteúdo das textboxes estou a usar os métodos Validating e Validated, até aqui tudo bem funciona muito bem o problema é que na Form meti um botão para cancelar, ou seja carrega-se lá e essa form fecha, mas caso o utilizador tenha inserido algum valor não válido, o botão de cancelar não faz nada...só cancelando quando todas as Textboxes estiverem validadas, não existe maneira de dar a volta a isto e o botão para cancelar estar sempre activo?

deixo aqui um exemplo do código que usei para validar as textboxes

Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
        
        Dim strregex As String = "^([0-9]{5,6})$"
        Dim reg_exp As New System.Text.RegularExpressions.Regex(strregex)

        If Not reg_exp.IsMatch(TextBox1.Text) Then
          
            e.Cancel = True          
            TextBox1.Select(0, TextBox1.Text.Length)           
            ErrorProvider1.SetError(TextBox1, "Ordem de fabrico inválida 6 digitos.")
            lblstatus.Text = "Dados inválidos..."

        End If

    End Sub

    Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated

        ErrorProvider1.SetError(TextBox1, "")
        lblstatus.Text = ""

    End Sub

Obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes criar uma variavel global booleana que será falso por exemplo. Clicas no cancelar, fica verdadeiro, depois nos eventos validating/validated, fazes um if, se true, não executas o codigo.

Não sei se será a melhor solução porque sinceramente não sei bem o que alturas são invocados esses eventos .

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebi muito bem com queres que faça isso, é que estes validating são executados quando o controlo perde o focus, ou seja se tu inserires qualquer valor não valido ele não te deixa avançar para outro...mas com o rato podemos carregar nos botões, apsar que eles não fazem nada....

dizes para ao carregar no cancelar a var passar a true, mas esse botão não faz nada (no click desse butão meti Me.Close() e nada, só dá depois de ser validado o valor da textbox)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora