public function checkValidity($data, $omitMandatoryCheck = false)
{
if (!$omitMandatoryCheck) {
if ($data instanceof Object\Objectbrick) {
$items = $data->getItems();
foreach ($items as $item) {
if ($item->getDoDelete()) {
continue;
}
if (!$item instanceof Object\Objectbrick\Data\AbstractData) {
continue;
}
try {
$collectionDef = Object\Objectbrick\Definition::getByKey($item->getType());
} catch (\Exception $e) {
continue;
}
//needed when new brick is added but not saved yet - then validity check fails.
if (!$item->getFieldname()) {
$item->setFieldname($data->getFieldname());
}
foreach ($collectionDef->getFieldDefinitions() as $fd) {
$key = $fd->getName();
$getter = "get" . ucfirst($key);
$fd->checkValidity($item->{$getter}());
}
}
}
}
}