eZ\Publish\Core\Limitation\SubtreeLimitationType::validate PHP Method

validate() public method

Make sure {@link acceptValue()} is checked first!
public validate ( eZ\Publish\API\Repository\Values\User\Limitation $limitationValue ) : eZ\Publish\SPI\FieldType\ValidationError[]
$limitationValue eZ\Publish\API\Repository\Values\User\Limitation
return eZ\Publish\SPI\FieldType\ValidationError[]
    public function validate(APILimitationValue $limitationValue)
    {
        $validationErrors = array();
        foreach ($limitationValue->limitationValues as $key => $path) {
            try {
                $pathArray = explode('/', trim($path, '/'));
                $subtreeRootLocationId = end($pathArray);
                $spiLocation = $this->persistence->locationHandler()->load($subtreeRootLocationId);
            } catch (APINotFoundException $e) {
            }
            if (!isset($spiLocation) || strpos($spiLocation->pathString, $path) !== 0) {
                $validationErrors[] = new ValidationError("limitationValues[%key%] => '%value%' does not exist in the backend", null, array('value' => $path, 'key' => $key));
            }
        }
        return $validationErrors;
    }