/** * Validates the validatorConfiguration of a FieldDefinitionCreateStruct or FieldDefinitionUpdateStruct. * * @param mixed $validatorConfiguration * * @return \eZ\Publish\SPI\FieldType\ValidationError[] */ public function validateValidatorConfiguration($validatorConfiguration) { $validationErrors = array(); $validator = new StringLengthValidator(); foreach ($validatorConfiguration as $validatorIdentifier => $constraints) { if ($validatorIdentifier !== 'StringLengthValidator') { $validationErrors[] = new ValidationError("Validator '%validator%' is unknown", null, array('%validator%' => $validatorIdentifier)); continue; } $validationErrors += $validator->validateConstraints($constraints); } return $validationErrors; }
/** * Tests validation of constraints. * * @dataProvider providerForValidateConstraintsKO * @covers \eZ\Publish\Core\FieldType\Validator\FileSizeValidator::validateConstraints */ public function testValidateConstraintsWrongValues($constraints, $expectedMessages, $values) { $validator = new StringLengthValidator(); $messages = $validator->validateConstraints($constraints); foreach ($expectedMessages as $index => $expectedMessage) { $this->assertInstanceOf('eZ\\Publish\\API\\Repository\\Values\\Translation\\Message', $messages[0]->getTranslatableMessage()); $this->assertEquals($expectedMessage, $messages[$index]->getTranslatableMessage()->message); $this->assertEquals($values[$index], $messages[$index]->getTranslatableMessage()->values); } }