Vb.net 验证多个组合框/文本框是否有值
我有一个winform,它有大约6个组合框和3个文本框。我还有一个按钮,它获取上述控件的值并将它们插入SQL。在插入数据之前,有没有比一堆嵌套的if/then语句更好的方法来验证控件是否都有值?这很快就会变丑。我试过用谷歌搜索这个答案,但我得到的ASPx答案太多了。我会考虑你的任何想法。我只是想找到一个更好的方法。谢谢你的帮助。我想这并不难 此代码显示关于第一个空文本框或组合框的错误消息。但如果需要,您可以轻松地修改以显示所有空组合框和文本框的错误消息Vb.net 验证多个组合框/文本框是否有值,vb.net,Vb.net,我有一个winform,它有大约6个组合框和3个文本框。我还有一个按钮,它获取上述控件的值并将它们插入SQL。在插入数据之前,有没有比一堆嵌套的if/then语句更好的方法来验证控件是否都有值?这很快就会变丑。我试过用谷歌搜索这个答案,但我得到的ASPx答案太多了。我会考虑你的任何想法。我只是想找到一个更好的方法。谢谢你的帮助。我想这并不难 此代码显示关于第一个空文本框或组合框的错误消息。但如果需要,您可以轻松地修改以显示所有空组合框和文本框的错误消息 Private Function Vali
Private Function ValidateMyControls() As Boolean
Dim allComboBoxes() As ComboBox = {ComboBox1, ComboBox2, ComboBox3} ' add all your comboboxes here
Dim allTextBoxes() As TextBox = {TextBox1, TextBox2, TextBox3} ' add all your textboxes here
Dim emptyTB As TextBox = allTextBoxes.Where(Function(f) f.Text = "").FirstOrDefault
Dim emptyCB As ComboBox = allComboBoxes.Where(Function(f) f.SelectedIndex = -1).FirstOrDefault
If emptyTB IsNot Nothing Then
MessageBox.Show("Please fill value in " & emptyTB.Name)
Return False
ElseIf emptyCB IsNot Nothing Then
MessageBox.Show("Please select a value in dropdown " & emptyCB.Name)
Return False
Else
' All set to go!
Return True
End If
End Function
为什么不将相同类型的所有控件分组到一个数组中,这样就可以轻松地循环它们,并通过将它们应用到数组中来直接设置所有控件的属性。这非常有效。如果我不知道如何使它适用于所有组合/文本,我可能会在这里发帖。非常感谢你的帮助。我真的很感激。