我有一张表格用于取消,驳回,修改和更正引文。无法通过解雇,修改或更正来实现无效。如果您需要撤销和修改,请填写两个表格。但是,您可以在同一表格上进行解雇,修改和/或更正。我有两个基于表单变量创建的数组。一个数组包含void部分的变量,另一个数组包含所有其他变量。
我正在尝试创建一个将虚空与其他所有空间进行比较的规则。我希望能够检查是否有任何void变量!=“”并且任何其他变量都是!=“”然后给出错误消息。
if($_POST[$all_other_fields] !== "" && $_POST[$void_fields] !== "")
{
$all_ok = false;
$citation_error_msg = "Blah, Blah Blah";
}
我在不知不觉中所做的事情已经说明来自两个阵列的所有变量必须!=“”。我想说两个数组中是否有一个变量!=“”,然后是错误信息。
我不确定如何进行比较。
答案 0 :(得分:1)
所以,你说如果填写了一个空白字段,如果有人填写其他部分,则抛出错误?我可能会将我的表单重构为分页表单,您可以在其中询问用户希望执行的操作,然后使用特定表单向其显示。在表单上使用无关字段会让用户感到困惑。
无论如何,如果你坚持使用当前的表单设计,你需要有一个void字段名称数组,你将检查你的$ _POST。类似的东西:
$vf_flag=false;
$void_fields=array('vf1','vf2','vf3');
foreach($void_fields as $vf) {
if(!isset($_POST[$vf])) continue;
$vf_flag=true;
break; //only need one error
}
$nonvf_flag=false;
//do the same as above except with a non_voidfields array()
if($nonvf_flag && $vf_flag) $citation_msg='blah blah blah';
这是一种冗长的方式,但它很简单。您也可以使用array_filter()
和回调来执行此操作。