验证vb.net中的文本框

时间:2010-04-10 16:42:58

标签: vb.net validation

我如何验证vb.net中的文本框,以便在输入除字母之外的任何内容时显示错误消息

3 个答案:

答案 0 :(得分:3)

您可以检查文本字符串,即textbox1.text,以确保它除.Leave事件中的字母字符外没有任何内容。例如,当用户选中下一个控件时,这将捕获错误。您可以使用正则表达式(对于此示例导入​​System.Text.RegularExpressions)执行此操作,或者您可以“手动”检查文本。

Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
  If Not Regex.Match(TextBox1.Text, "^[a-z]*$", RegexOptions.IgnoreCase).Success Then
    MsgBox("Please enter alpha text only.")
    TextBox1.Focus()
  End If
End Sub

如果您想在按下非字母键后立即停止用户,则可以使用TextChanged事件而不是.Leave事件。

答案 1 :(得分:1)

带有正则表达式的CustomFieldValidator。

答案 2 :(得分:1)

如果它是WinForms应用程序中的标准文本框,您可以通过处理KeyPressed事件来验证每个键入的字符,并在事件处理程序中包含以下代码:

e.Handled = Not Char.IsLetter(e.KeyChar)

用户仍然可以使用鼠标将某些东西粘贴在那里,所以你可能也需要处理它。

另一个选项是处理Validating事件,如果文本框包含任何非字母字符,则将e.Cancel设置为true。