eZ\Publish\Core\FieldType\BinaryBase\Type::validate PHP Метод

validate() публичный Метод

Validates a field based on the validators in the field definition.
public validate ( eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDefinition, eZ\Publish\SPI\FieldType\Value $fieldValue ) : eZ\Publish\SPI\FieldType\ValidationError[]
$fieldDefinition eZ\Publish\API\Repository\Values\ContentType\FieldDefinition The field definition of the field
$fieldValue eZ\Publish\SPI\FieldType\Value The field value for which an action is performed
Результат eZ\Publish\SPI\FieldType\ValidationError[]
    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;
    }