0

如果文本仅包含空格“”,我需要代码拒绝将文本保存到数据库?

我试过了,但它只适用于一个空格

        If NameSearchTB.Text.Contains(" ") Then

        MsgBox("you have to type something", vbInformation, "Movies Store")

        Exit Sub
    Else End If
4

1 回答 1

1

Validating如果要验证控件的内容,通常应该处理控件的事件。这样,您可以防止用户在输入有效数据之前将焦点从控件上移开。在你的情况下:

Private Sub NameSearchTB_Validating(sender As Object, e As CancelEventArgs) Handles NameSearchTB.Validating
    If String.IsNullOrWhiteSpace(NameSearchTB.Text) Then
        MessageBox.Show("Please enter a name to search for",
                        "Movie Store",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Information)

        e.Cancel = True
    End If
End Sub

到了使用数据的时候,你就知道每一个获得焦点的控件都必须是有效的。要验证那些没有获得焦点的,你调用表单的ValidateChildren方法。它将Validating为每个控件引发事件,因此每个控件,包括那些没有获得焦点的控件,都将被验证。如果任何事件被取消,则ValidateChildren返回,否则,指示继续使用数据是否安全。FalseValidatingTrue

If ValidateChildren() Then
    'All data is valid so use it safely here.
End If

无需显示错误消息,因为Validating事件处理程序会处理这些。

于 2020-04-26T03:15:38.043 回答