PHP数组验证
我有一个在提交时得到验证的表单。我确保一些字段不是空的,日期字段有有效的格式,等等。我有一个复选框块,旁边有一个文本输入PHP数组验证,php,arrays,if-statement,Php,Arrays,If Statement,我有一个在提交时得到验证的表单。我确保一些字段不是空的,日期字段有有效的格式,等等。我有一个复选框块,旁边有一个文本输入 Option 1 <input type="checkbox" name="jobBonusId[]" value="1" /> Option 2 <input type="checkbox" name="jobBonusId[]" value="2" /> Option 3 <input type="checkbox" name="jobB
Option 1
<input type="checkbox" name="jobBonusId[]" value="1" />
Option 2
<input type="checkbox" name="jobBonusId[]" value="2" />
Option 3
<input type="checkbox" name="jobBonusId[]" value="3" />
Amount 1
<input type="number" name="jobBonusAmount[]" step="0.01" value="0.00" />
Amount 2
<input type="number" name="jobBonusAmount[]" step="0.01" value="0.00" />
Amount 3
<input type="number" name="jobBonusAmount[]" step="0.01" value="0.00" />
有什么办法可以做到吗
多谢各位 您可以使用数组键,并通过
jobBonusId
键检查子项:
foreach ($jobBonusId as $key => $bonusId) {
if (!empty($bonusId)) {
if (!empty($jobBonusAmount[$key])) { // check a child
// if child is filled
} else {
// not filled
}
}
}
这意味着,
$jobBonusId
数组与$jobBonusAmount
数组相同。如果在前端创建关联数组,通过隐藏字段发送该数组,并对每个jobBonusId
验证jobBonusAmount
,这将更容易。我已经尝试过了,但是如果(!empty($jobBonusId)&&is_数组($jobBonusId)),则不知道如何退出父else。Look://Start errors count$err=0;//循环trhu数组值foreach($jobBonusId as$id=>$val){//验证奖金金额if($jobBonusAmount[$id]=='0.00'){//添加计数$err++;}//验证发现的错误if(!empty($err)){//显示表单$displayContent=$displayForm;}@CarloCharles如果其中一个cild已填充,请使用break
。您还可以在foreach之前设置标志(变量),如果至少有一个filled-set标志为true
foreach ($jobBonusId as $key => $bonusId) {
if (!empty($bonusId)) {
if (!empty($jobBonusAmount[$key])) { // check a child
// if child is filled
} else {
// not filled
}
}
}