Pimcore\Model\Object\ClassDefinition\Data\MultihrefMetadata::checkValidity PHP Method

checkValidity() public method

Checks if data is valid for current data field
public checkValidity ( mixed $data, boolean $omitMandatoryCheck = false )
$data mixed
$omitMandatoryCheck boolean
    public function checkValidity($data, $omitMandatoryCheck = false)
    {
        if (!$omitMandatoryCheck and $this->getMandatory() and empty($data)) {
            throw new Element\ValidationException("Empty mandatory field [ " . $this->getName() . " ]");
        }
        if (is_array($data)) {
            foreach ($data as $elementMetadata) {
                if (!$elementMetadata instanceof Object\Data\ElementMetadata) {
                    throw new Element\ValidationException("Expected Object\\Data\\ElementMetadata");
                }
                $d = $elementMetadata->getElement();
                if ($d instanceof Document) {
                    $allow = $this->allowDocumentRelation($d);
                } elseif ($d instanceof Asset) {
                    $allow = $this->allowAssetRelation($d);
                } elseif ($d instanceof Object\AbstractObject) {
                    $allow = $this->allowObjectRelation($d);
                } elseif (empty($d)) {
                    $allow = true;
                } else {
                    $allow = false;
                }
                if (!$allow) {
                    throw new Element\ValidationException("Invalid multihref relation", null, null);
                }
            }
        }
    }