VB.NET多文本框验证

0 vb.net validation winforms

有人可以通过验证带有多个文本框的表单来显示一些指导(我不是要做我的作业)吗?用户将被告知有问题的领域是什么.

表格的来源:

Private Sub btnNewUser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNewUser.Click
  'If txtEmail.Text.Contains(" "c) Or Not(InStr(txtEmail.Text, "@")) Then
  'txtEmail.Clear()
  'ElseIf txtPassword.Text.Contains(" "c) Then
  'txtPassword.Clear()
  'ElseIf txtPIN.Text ''#uh
    aryUserRecord(0) = txtEmail.Text
    aryUserRecord(1) = txtPassword.Text
    aryUserRecord(2) = txtPIN.Text ''#consists of a letter then two numbers then another                     addNewUser = Join(aryUserData, ",")
   ''#more source
    Me.DialogResult = DialogResult.OK
End Sub
Run Code Online (Sandbox Code Playgroud)

mse*_*ant 5

您可以使用ErrorProvider标记有问题的字段.您将要与每个TextBox的验证事件挂钩.像这样的东西:

Private Sub TextBox1_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
        If TextBox1.Text = "" Then
            ErrorProvider1.SetError(TextBox1, "Text cannot be empty")
            e.Cancel = True
        End If
End Sub
Run Code Online (Sandbox Code Playgroud)

然后,当Textbox确实进行验证时,您可以连接到Validated事件以清除ErrorProvider:

Private Sub TextBox1_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Validated
        ErrorProvider1.SetError(TextBox1, "")
End Sub
Run Code Online (Sandbox Code Playgroud)