我正在创建一个项目,该项目允许用户输入包括地址的用户数据。来自地址的数据将在多个文本框字段中获取,包括街道,城市,州,邮政编码以及任何其他信息(例如单位编号等)。
现在,我正在尝试设置一些错误检查和一些错误工具提示,以在用户尝试提交表单数据时向他们提供信息。我需要进行设置,以便每个字段(信息除外,这是可选的)中都包含数据。 编辑:我简直不敢忘记提及这一点。在表单上,输入地址数据是可选的。但是,我正在尝试对其进行设置,以便任何字段中都有数据,它告诉用户他们需要所有字段中都有数据。
现在,我已经建立了一个庞大的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语句对我来说看起来超级凌乱,我试图找出是否还有其他方法可以解决此问题。该代码可以满足我的需要,只是想知道是否有不同的角度来解决此问题。
答案 0 :(得分:0)
如果用户编译任何地址字段,只需检查您的必填字段之一是否为空。
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
。