如何在按下按钮时尝试验证文本框?

How do I go about trying to validate a textbox upon pressing a button?

我在想办法验证此文本框以防止用户输入数字或特殊符号时遇到了一些麻烦。我想要它,以便在单击“保存”按钮 (btnSaveJob) 时,它将验证名称的文本框。文本框用于输入名称,因此我想尝试验证它。这是代码:

Private Sub btnSaveJob_Click(sender As Object, e As EventArgs) Handles btnSaveJob.Click
    Dim txtName As TextBox

    If String.IsNullOrEmpty(txtName.Text) Then
    End If

    Try
        Dim result As DialogResult
        result = MessageBox.Show("Do you want to save the selected job?", "Save Job",
 MessageBoxButtons.YesNo, MessageBoxIcon.Question)

        If (result = DialogResult.Yes) Then
            Validate()
            TimetableBindingSource.EndEdit()
            TableAdapterManager.UpdateAll(Me.JobTimetableDataSet)
            MessageBox.Show("The Job has been saved successfully.", "Save Job", MessageBoxButtons.OK, MessageBoxIcon.Information)

            RefreshData()
            btnAddJob.Text = "Add New Job"

        Else
            'Exit Sub
            Return
        End If

    Catch ex As Exception
        MessageBox.Show("Save Job Failed: " & ex.Message.ToString(),
 "Save Job", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try
End Sub

回答问题:

If txtName.Text.Any(Function(ch) Char.IsNumber(ch) OrElse Char.IsSymbol(ch)) Then
    'The text is invalid.
End If

检查任何字符是数字还是符号。这可能不是你想要的。 Boolean表达式你可以随意调整,原理是一样的,例如

If txtName.Text.All(Function(ch) Char.IsLetter(ch) OrElse {" "c, "'"c}.Contains(ch)) Then
    'The text is valid.
End If

最后一个检查所有字符都是字母、空格或撇号。您可以添加任何您想要的条件组合。