检查一组文本框中的数据

Check for Data in a set of Textboxes

我正在创建一个允许用户输入包括地址在内的用户数据的项目。地址中的数据取自街道、城市、州、邮政编码和任何其他信息(如单位# 等)的多个文本框字段。

现在我正在尝试设置一些错误检查和一些错误工具提示,以便在用户尝试提交表单数据时向他们提供信息。我需要对其进行设置,以便每个字段(信息除外,这是可选的)中都有数据。 编辑: 真不敢相信我忘了提到这一点。在表格上,输入地址数据是可选的。但是我正在尝试设置它,以便如果任何字段有数据,它会告诉用户他们需要在所有字段中都有数据。

现在我设置了一个巨大的 if 语句来检查输入:

If (Not street.Text.Equals("") And (city.Text.Equals("") Or state.Text.Equals("") Or code.Text.Equals(""))) Or
   (Not city.Text.Equals("") And (street.Text.Equals("") Or state.Text.Equals("") Or code.Text.Equals(""))) Or
   (Not state.Text.Equals("") And (street.Text.Equals("") Or city.Text.Equals("") Or code.Text.Equals(""))) Or
   (Not code.Text.Equals("") And (street.Text.Equals("") Or city.Text.Equals("") Or state.Text.Equals(""))) Or
   (Not info.Text.Equals("") And (street.Text.Equals("") Or city.Text.Equals("") Or state.Text.Equals("") Or code.Text.Equals(""))) Then

我的问题很简单。有没有比上面的 If 语句更简单的方法呢?就我个人而言,If 语句对我来说看起来超级混乱,我想弄清楚是否有不同的方法来解决这个问题。该代码适用于我需要它做的事情,只是想知道是否有不同的角度来解决这个问题。

如果用户编译任何地址字段,只需检查您的必填字段之一是否为空。

If (Not street.Text.Equals("") Or Not city.Text.Equals("") Or Not state.Text.Equals("") Or Not code.Text.Equals("") Or Not info.Text.Equals("")) Then
    If (street.Text.Equals("") Or city.Text.Equals("") Or state.Text.Equals("") Or code.Text.Equals("")) Then
        Msgbox("If you want to provide an address please compile street, city, state and ZIP code.")
    End If
End If

请考虑使用 OrElse 而不是 Or

也可以考虑使用 IsNullOrWhiteSpace 而不是 Equals