как отказаться от сохранения, если текст содержит только "" - PullRequest
0 голосов
/ 25 апреля 2020

Мне нужен код для отказа сохранить текст в базе данных, если текст содержит только пробел ""?

Я пробовал это, но он работает с одним пробелом

        If NameSearchTB.Text.Contains(" ") Then

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

        Exit Sub
    Else End If

1 Ответ

1 голос
/ 26 апреля 2020

Обычно вы должны обрабатывать событие 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 возвращает False, если какое-либо событие Validating было отменено, и True в противном случае, указывая, безопасно ли go опережать и использовать данные.

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

Нет необходимости отображать сообщение об ошибке, потому что обработчики событий Validating позаботятся об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...