AbstractGenericObjectValidator extends AbstractValidator implements ObjectValidatorInterface
A generic object validator which allows for specifying property validators.
Table of Contents
Interfaces
- ObjectValidatorInterface
- Contract for a validator
Properties
- $acceptsEmptyValues : bool
- Specifies whether this validator accepts empty values.
- $options : array<string|int, mixed>
- $propertyValidators : array<string|int, mixed>
- $request : ServerRequestInterface|null
- $result : Result
- $supportedOptions : array<string|int, mixed>
- This contains the supported options, their default values, types and descriptions.
- $translationOptions : array<string|int, mixed>
- Contains an array of property names used for translation handling of error messages.
- $validatedInstancesContainer : SplObjectStorage
Methods
- addPropertyValidator() : void
- Adds the given validator for validation of the specified property.
- canValidate() : bool
- Checks the given object can be validated by the validator implementation
- getOptions() : array<string|int, mixed>
- Returns the options of this validator
- getPropertyValidators() : array<string|int, mixed>
- Returns all property validators - or only validators of the specified property
- getRequest() : ServerRequestInterface|null
- setOptions() : void
- Receive validator options from framework.
- setRequest() : void
- setValidatedInstancesContainer() : void
- Allows to set a container to keep track of validated instances.
- validate() : Result
- Checks if the given value is valid according to the validator, and returns the Error Messages object which occurred.
- addError() : void
- Creates a new validation error object and adds it to $this->result
- addErrorForProperty() : void
- Creates a new validation error object for a property and adds it to the proper sub result of $this->result
- checkProperty() : void
- Checks if the specified property of the given object is valid, and adds found errors to the $messages object.
- ensureFileUploadTypes() : void
- Ensures that the provided value is either an instance of UploadedFile or an ObjectStorage containing only UploadedFile instances.
- getPropertyValue() : mixed
- Load the property value to be used for validation.
- initializeDefaultOptions() : void
- Initialize default options.
- initializeTranslationOptions() : void
- Initializes all registered translation options with custom translation options from the given options array
- isEmpty() : bool
- TRUE if the given $value is NULL or an empty string ('')
- isValid() : void
- Checks if the given value is valid according to the property validators.
- isValidatedAlready() : bool
- markInstanceAsValidated() : void
- translateErrorMessage() : string
- Translates an error message using LocalizationUtility::translate() method. If the translate key does not start with 'LLL:' and if no extension name is provided, the original translate key is returned.
Properties
$acceptsEmptyValues
Specifies whether this validator accepts empty values.
protected
bool
$acceptsEmptyValues
= true
If this is TRUE, the validators isValid() method is not called in case of an empty value Note: A value is considered empty if it is NULL or an empty string! By default, all validators except for NotEmpty and the Composite Validators accept empty values.
$options
protected
array<string|int, mixed>
$options
= []
$propertyValidators
protected
array<string|int, mixed>
$propertyValidators
= []
$request
protected
ServerRequestInterface|null
$request
= null
$result
protected
Result
$result
$supportedOptions
This contains the supported options, their default values, types and descriptions.
protected
array<string|int, mixed>
$supportedOptions
= []
$translationOptions
Contains an array of property names used for translation handling of error messages.
protected
array<string|int, mixed>
$translationOptions
= ['message']
$validatedInstancesContainer
protected
SplObjectStorage
$validatedInstancesContainer
Methods
addPropertyValidator()
Adds the given validator for validation of the specified property.
public
addPropertyValidator(string $propertyName, ValidatorInterface $validator) : void
Parameters
- $propertyName : string
- $validator : ValidatorInterface
canValidate()
Checks the given object can be validated by the validator implementation
public
canValidate(mixed $object) : bool
Parameters
- $object : mixed
Return values
boolgetOptions()
Returns the options of this validator
public
getOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>getPropertyValidators()
Returns all property validators - or only validators of the specified property
public
getPropertyValidators([string|null $propertyName = null ]) : array<string|int, mixed>
Parameters
- $propertyName : string|null = null
Return values
array<string|int, mixed>getRequest()
public
getRequest() : ServerRequestInterface|null
Tags
Return values
ServerRequestInterface|nullsetOptions()
Receive validator options from framework.
public
setOptions(array<string|int, mixed> $options) : void
Parameters
- $options : array<string|int, mixed>
setRequest()
public
setRequest(ServerRequestInterface|null $request) : void
Parameters
- $request : ServerRequestInterface|null
Tags
setValidatedInstancesContainer()
Allows to set a container to keep track of validated instances.
public
setValidatedInstancesContainer(SplObjectStorage $validatedInstancesContainer) : void
Parameters
- $validatedInstancesContainer : SplObjectStorage
-
A container to keep track of validated instances
validate()
Checks if the given value is valid according to the validator, and returns the Error Messages object which occurred.
public
validate(mixed $value) : Result
Parameters
- $value : mixed
-
The value that should be validated
Return values
ResultaddError()
Creates a new validation error object and adds it to $this->result
protected
addError(string $message, int $code[, array<string|int, mixed> $arguments = [] ][, string $title = '' ]) : void
Parameters
- $message : string
-
The error message
- $code : int
-
The error code (a unix timestamp)
- $arguments : array<string|int, mixed> = []
-
Arguments to be replaced in message
- $title : string = ''
-
title of the error
addErrorForProperty()
Creates a new validation error object for a property and adds it to the proper sub result of $this->result
protected
addErrorForProperty(string|array<string|int, mixed> $propertyPath, string $message, int $code[, array<string|int, mixed> $arguments = [] ][, string $title = '' ]) : void
Parameters
- $propertyPath : string|array<string|int, mixed>
-
The property path (string or array)
- $message : string
-
The error message
- $code : int
-
The error code (a unix timestamp)
- $arguments : array<string|int, mixed> = []
-
Arguments to be replaced in message
- $title : string = ''
-
Title of the error
checkProperty()
Checks if the specified property of the given object is valid, and adds found errors to the $messages object.
protected
checkProperty(mixed $value, Traversable $validators, string $propertyName) : void
Parameters
- $value : mixed
- $validators : Traversable
- $propertyName : string
ensureFileUploadTypes()
Ensures that the provided value is either an instance of UploadedFile or an ObjectStorage containing only UploadedFile instances.
protected
ensureFileUploadTypes(mixed $value) : void
Parameters
- $value : mixed
getPropertyValue()
Load the property value to be used for validation.
protected
getPropertyValue(object $object, string $propertyName) : mixed
In case the object is a doctrine proxy, we need to load the real instance first.
Parameters
- $object : object
- $propertyName : string
initializeDefaultOptions()
Initialize default options.
protected
initializeDefaultOptions(array<string|int, mixed> $options) : void
Parameters
- $options : array<string|int, mixed>
Tags
initializeTranslationOptions()
Initializes all registered translation options with custom translation options from the given options array
protected
initializeTranslationOptions(array<string|int, mixed> $options) : void
Parameters
- $options : array<string|int, mixed>
isEmpty()
TRUE if the given $value is NULL or an empty string ('')
protected
final isEmpty(mixed $value) : bool
Parameters
- $value : mixed
Return values
boolisValid()
Checks if the given value is valid according to the property validators.
protected
isValid(mixed $object) : void
Parameters
- $object : mixed
isValidatedAlready()
protected
isValidatedAlready(object $object) : bool
Parameters
- $object : object
Return values
boolmarkInstanceAsValidated()
protected
markInstanceAsValidated(object $object) : void
Parameters
- $object : object
translateErrorMessage()
Translates an error message using LocalizationUtility::translate() method. If the translate key does not start with 'LLL:' and if no extension name is provided, the original translate key is returned.
protected
translateErrorMessage(string $translateKey[, string $extensionName = '' ][, array<string|int, mixed> $arguments = [] ]) : string
Parameters
- $translateKey : string
- $extensionName : string = ''
- $arguments : array<string|int, mixed> = []