如何验证是否至少填写了一个文本框 (VB.Net)

How to validate that at least one textbox was filled in (VB.Net)

我有 4 个文本框,我试图在他们点击搜索以检查他们的搜索条件之前验证至少有一个文本框已被填充。

我的问题:我的代码工作正常,但是当我想继续填写一个字段时,它仍然显示消息框。

If txtMember.Text = "" Then
            MessageBox.Show("Please enter a value!")
        ElseIf txtReference.Text = "" Then
            MessageBox.Show("Please enter a value!")
        ElseIf txtName.Text = "" Then
            MessageBox.Show("Please enter a value!")
        ElseIf txtCode.TextLength = "" Then
            MessageBox.Show("Please enter a value!")
        Else
            SearchClick()
        End If

我该如何解决这个问题?非常感谢您的帮助。

你想要下面这样的东西吗? 因此,如果每个文本框都是空白的,则您希望出现一个消息框,否则如果其中一个文本框已填充,则执行 SearchClick How to use If Else。学习单步执行代码,可能会帮助您了解代码中发生的事情。

If txtMember.Text = "" AndAlso txtReference.Text = "" AndAlso txtName.Text = "" AndAlso  txtCode.TextLength = "" Then
    MessageBox.Show("Please enter a value!")
Else
    SearchClick()
End If

AllAny 扩展方法在这种情况下很有用,例如

If {TextBox1, TextBox2, TextBox3}.Any(Function(tb) tb.TextLength > 0) Then
    'At least one TextBox has some text in it.