public function validate(FieldDefinition $fieldDefinition, SPIValue $fieldValue)
{
$errors = array();
if ($this->isEmptyValue($fieldValue)) {
return $errors;
}
foreach ((array) $fieldDefinition->getValidatorConfiguration() as $validatorIdentifier => $parameters) {
switch ($validatorIdentifier) {
// @todo There is a risk if we rely on a user built Value, since the FileSize
// property can be set manually, making this validation pointless
case 'FileSizeValidator':
if (empty($parameters['maxFileSize'])) {
// No file size limit
break;
}
// Database stores maxFileSize in MB
if ($parameters['maxFileSize'] * 1024 * 1024 < $fieldValue->fileSize) {
$errors[] = new ValidationError('The file size cannot exceed %size% byte.', 'The file size cannot exceed %size% bytes.', array('%size%' => $parameters['maxFileSize']), 'fileSize');
}
break;
}
}
return $errors;
}