Jump to content

ErrorProvider


claudinei

Recommended Posts

Pessoal

  Estou com o seguinte problema quando estou utilizando o errorprovider

1) Tem 8 textbox em um form, onde na sequencia dos textbox apenas o 3o. e 4o. não faço validação, e o que esta acontecendo, quando deixo em branco o 1o. textbox funciona sem problema a identificação de erro, quando faço o mesmo processo no 2o. textbox não funciona como no 1o., pois o próximo textbox seria o 3o., agora quando passo do 4o. textbox para o 5o. textbox, é que aparece a validação de erro do 2o. textbox.

  Assim percebei que quando deixo um textbox que tem validação para um proximo textbox que não tem validação ela não aparece o icone do errorprovider, agora se faço a passagem de um textbox que tem validação para outro que tem validação funciona normalmente, ele aparece a mensagem do errorprovider.

If sender.Text.Trim.Length = 0 Then

  ErrorProvider1.SetError(sender, "Favor digitar o conteudo do campo")

Else

  ErrorProvider1.SetError(sender, "")

End If

Utilizei o codigo acima nos textbox que tem validação (Validating), até fiz o processo de forma individual justamente para identificar o erro.

Link to comment
Share on other sites

Se capturaste o evento validating para cada textbox, experimenta então :

If TextBox1.Text.Trim.Length = 0 Then

  ErrorProvider1.SetError(TextBox1, "Favor digitar o conteudo do campo")

Else

  ErrorProvider1.SetError(TextBox1, "")

End If

E adapta o nome de cada textbox ao evento a que está associado. Faz isso, e vê se continuas com o problema.

Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Link to comment
Share on other sites

O que queres fazer é simples:

Public Class Form1
    Private Sub TextBoxes_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated, TextBox2.Validated, TextBox3.Validated, TextBox6.Validated, TextBox7.Validated, TextBox8.Validated
        ErrorProvider1.SetError(sender, "")
    End Sub

    Private Sub TextBoxes_Validating(ByVal sender As TextBox, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating, TextBox2.Validating, TextBox3.Validating, TextBox6.Validating, TextBox7.Validating, TextBox8.Validating
        If sender.TextLength = 0 Then
            e.Cancel = True
            ErrorProvider1.SetError(sender, "Erro")
        End If
    End Sub
End Class

Aqui apenas verifiquei se o textlength é igual a zero, mas podes fazer outro tipo de verificação.

Knowledge to the masses


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.