Я пытаюсь найти способ перебрать объекты с помощью метода проверки, который возвращает истину или ложь, а затем, в конце концов, знаю, если какой-либо объект возвратил ложь.
$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;
Но я просто не могу разобраться, как этого добиться. Я думал об использовании массива, а затем проверил, есть ли в каком-либо из значений в массиве «ложь». Но это кажется немного неуклюжим.
Я чувствую, что должна быть «лучшая практика», как это сделать?
ОБНОВЛЕНИЕ: важно, чтобы каждое поле запускало ->validate()
метод. четные поля, которые идут после первого «ложного».
Спасибо!
Вы могли бы пойти с этим:
$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;
Перерыв;» собирается остановить цикл.
Других решений пока нет …