我试图找出一种循环使用返回true或false的验证方法的对象的方法,然后知道是否有任何对象返回false。
$validate_form = true;
//Loop through groups
foreach ($this->field_groups as $field_group) {
//Loop through fields
foreach ($field_group->fields as $field) {
$validated = $field->validate($data[$field->name]);
//if any of these returned false, set $validate_form to false
}
}
return $validate_form;
但我根本无法说清楚如何实现这一目标。我已经考虑过使用数组,然后检查数组中的任何值是否都有“false”。但这似乎有点笨拙。
我觉得必须有一个关于如何做到这一点的“最佳实践”?
更新:每个字段运行->validate()
方法非常重要。甚至在第一个“假”之后出现的字段。
谢谢!
答案 0 :(得分:0)
你可以这样做:
$validate_form = true;
//Loop through groups
foreach ($this->field_groups as $field_group) {
//Loop through fields
foreach ($field_group->fields as $field) {
$validated = $field->validate($data[$field->name]);
//if any of these returned false, set $validate_form to false
if (!$validated)
{
$validate_form = false;
break;
}
}
}
return $val_form;
“休息”;将要停止循环。