我的表单中有八个输入字段,我需要检查它们是否为空。其中四个是文本字段,另外四个是列表框。当用户提交表单时,需要填写四个文本框。第五个字段是是/否选择。如果此字段中的选择为“否”,则其余三个可以留空。但是,如果第五个字段中的选择是“是”,那么最后三个也必须使用列表框进行选择。
让我们将前四个(文本框)称为“mandatory-text1”、“mandatory-text2”、“mandatory-text3”和“mandatory-text4”,是/否选择列表框“yes-no”和可选选项“a”、“b”和“c”。
所以:
如果强制文本 1、强制文本 2、强制文本 3 或强制文本 4 为空,则处理 php 将中止。
但是如果mandatory-text1、mandatory-text2、mandatory-text3、mandatory-text4都填了,接下来检查yes-no是否包含“Yes”或“No”。
- 如果它包含一个否,那么 a、b 和 c 必须留空。
- 如果它包含 a Yes,则必须选择 a、b 和 c(列表框)。
以我对 PHP 的熟练程度,我已经能够做到这一点:
if ((mandatory-text1 || mandatory-text2 || mandatory-text3 == "") OR (yes-no == "Yes" AND (!(a || b || c == ""))) {
echo "blah" ;
exit();
}
else {
//do some stuff
}
我还没有编写“做一些事情”部分的代码,因为当我尝试此代码时,即使所有文本字段都已填写,我也会收到“等等”消息,是 - 否是“是”和 a、b 和c 已被选中。
我先用一个简单的“||”试了一下 对于所有字段,并且效果很好 - 即,即使其中一个字段留空,我也会收到“blah”消息。我也试过只检查是-否和a,b,c,这也很好,即如果在yes-no中有一个是,如果a,b,c字段为空白,我会得到blah。
但我需要满足所有条件才能进行下一步。我在 SO 上阅读的帖子将我带到了我现在所处的阶段。但是没有一个达到我想要的项目水平。
任何逻辑提示将不胜感激!