【发布时间】:2013-08-07 08:07:20
【问题描述】:
我的表单中有八个输入字段,我需要检查它们是否为空。其中四个是文本字段,另外四个是列表框。当用户提交表单时,需要填写四个文本框。第五个字段是是/否选择。如果此字段中的选择为“否”,则其余三个可以留空。但是,如果第五个字段中的选择是“是”,那么最后三个也必须使用列表框进行选择。
让我们称前四个(文本框)“mandatory-text1”、“mandatory-text2”、“mandatory-text3”和“mandatory-text4”,是/否选择列表框“yes-no”和可选选项“a”、“b”和“c”。
所以:
如果强制文本1、强制文本2、强制文本3、强制文本4为空,则处理php将中止。
但是如果强制文本1、强制文本2、强制文本3和强制文本4都填写了,接下来检查是不是包含“是”或“否”。
- 如果它包含 a No,则 a、b 和 c 必须保留 空白的。
- 如果它包含 a 是,那么 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
}
我还没有编写“做一些事情”部分,因为当我尝试此代码时,即使填写了所有文本字段,我也会收到“等等”消息,是 - 否是“是”和, b 和 c 已被选中。
我首先尝试了一个简单的“||”对于所有字段并且效果很好 - 即,即使其中一个字段留空,我也会收到“blah”消息。我也尝试过检查是-否和 a,b,c,这也可以正常工作,即如果在是-否中有一个是,如果 a,b,c 字段为空白,我会得到 blah。
但我需要满足所有条件才能进行下一步。我在 SO 上阅读的帖子将我带到了我现在所处的阶段。但是没有一个达到我想要的项目水平。
任何逻辑提示都将不胜感激!
【问题讨论】:
-
是
$mandatory-text1??或'mandatory-text1' -
这是 $mandatory-text1 - 我检查了原始代码。强制文本只是我这里用来解释上下文的一个伪变量!
-
根据我的理解,您必须具体说明它失败的情况(是-否 == “是”和(!(a || b || c == “”)) ) 对于您的情况应该是 (yes-no == "Yes" AND (a || b || c == ""))。
-
@ray 我还没有达到那种清晰的程度!你看到的代码是我到目前为止所做的。我只能说当我运行原始代码时我收到了“blah”消息。即使所有字段都已填写,我也会收到一条失败消息(等等)。一旦我尝试吉姆的建议,我就会回来......
标签: php if-statement operators