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)
{
// For limitation values used here see \eZ\Publish\SPI\Persistence\Content\VersionInfo::Status_* constants.
$availableStatusSet = array(VersionInfo::STATUS_DRAFT => true, VersionInfo::STATUS_PUBLISHED => true, VersionInfo::STATUS_ARCHIVED => true);
$validationErrors = array();
foreach ($limitationValue->limitationValues as $key => $status) {
if (!isset($availableStatusSet[$status])) {
$validationErrors[] = new ValidationError("limitationValues[%key%] => '%value%' does not exist in the backend", null, array('value' => $status, 'key' => $key));
}
}
return $validationErrors;
}
/** * @dataProvider providerForTestValidateError * @depends testConstruct * * @param \eZ\Publish\API\Repository\Values\User\Limitation\StatusLimitation $limitation * @param int $errorCount * @param \eZ\Publish\Core\Limitation\StatusLimitationType $limitationType */ public function testValidateError(StatusLimitation $limitation, $errorCount, StatusLimitationType $limitationType) { $validationErrors = $limitationType->validate($limitation); self::assertCount($errorCount, $validationErrors); }