Composite
abstract class Composite extends Constraint
A constraint that is composed of other constraints.
You should never use the nested constraint instances anywhere else, because their groups are adapted when passed to the constructor of this class.
If you want to create your own composite constraint, extend this class and let {@link getCompositeOption()} return the name of the property which contains the nested constraints.
Constants
Properties
static protected | $errorNames | Maps error codes to the names of their constants. | from Constraint |
mixed | $payload | Domain-specific data attached to a constraint. | from Constraint |
array | $groups | The groups that the constraint belongs to | from Constraint |
Methods
Returns the name of the given error code.
Initializes the constraint with options.
Adds the given group if this constraint is in the Default group.
Returns whether the constraint can be put onto classes, properties or both.
Returns the name of the property that contains the nested constraints.
Initializes the nested constraints.
Details
__construct(mixed $options = null)
Initializes the constraint with options.
You should pass an associative array. The keys should be the names of existing properties in this class. The values should be the value for these properties.
Alternatively you can override the method getDefaultOption() to return the name of an existing property. If no associative array is passed, this property is set instead.
You can force that certain options are set by overriding getRequiredOptions() to return the names of these options. If any option is not set here, an exception is thrown.
__set(string $option, mixed $value)
Sets the value of a lazily initialized option.
Corresponding properties are added to the object on first access. Hence this method will be called at most once per constraint instance and option name.
mixed
__get(string $option)
Returns the value of a lazily initialized option.
Corresponding properties are added to the object on first access. Hence this method will be called at most once per constraint instance and option name.
addImplicitGroupName(string $group)
Adds the given group if this constraint is in the Default group.
string
getDefaultOption()
Returns the name of the default option.
Override this method to define a default option.
array
getRequiredOptions()
Returns the name of the required options.
Override this method if you want to define required options.
string
validatedBy()
Returns the name of the class that validates this constraint.
By default, this is the fully qualified name of the constraint class suffixed with "Validator". You can override this method to change that behaviour.
string|array
getTargets()
Returns whether the constraint can be put onto classes, properties or both.
This method should return one or more of the constants Constraint::CLASS_CONSTRAINT and Constraint::PROPERTY_CONSTRAINT.