繁体   English   中英

VB.NET多个文本框验证

[英]VB.NET Multiple Textboxes Validation

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

表格的来源:

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

您可以使用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

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

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

尝试阅读RegularExpressionValidator。

\n

您可以为每个文本框分配一个,以使用正则表达式验证用户输入客户端,基于正则表达式,这似乎是一个不错的选择。

使用winforms,您将需要实施ValidatingValidated事件

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.causesvalidation.aspx

在上面的链接中,为电子邮件提供了一个示例。 这应该给您参考开始

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM