Documentation

Choice extends Constraint
in package

Contains the properties of a constraint definition.

Tags
Annotation
Target

({"PROPERTY", "METHOD", "ANNOTATION"})

author

Bernhard Schussek bschussek@gmail.com

Table of Contents

Constants

CLASS_CONSTRAINT  = 'class'
Marks a constraint that can be put onto classes.
DEFAULT_GROUP  = 'Default'
The name of the group given to all constraints with no explicit group.
NO_SUCH_CHOICE_ERROR  = '8e179f1b-97aa-4560-a02f-2a8b42e49df7'
PROPERTY_CONSTRAINT  = 'property'
Marks a constraint that can be put onto properties.
TOO_FEW_ERROR  = '11edd7eb-5872-4b6e-9f12-89923999fd0e'
TOO_MANY_ERROR  = '9bd98e49-211c-433f-8630-fd1c2d0f08c3'

Properties

$callback  : mixed
$choices  : mixed
$groups  : array<string|int, string>
The groups that the constraint belongs to.
$max  : mixed
$maxMessage  : mixed
$message  : mixed
$min  : mixed
$minMessage  : mixed
$multiple  : mixed
$multipleMessage  : mixed
$payload  : mixed
Domain-specific data attached to a constraint.
$strict  : mixed
$errorNames  : mixed
Maps error codes to the names of their constants.

Methods

__construct()  : mixed
Initializes the constraint with options.
__get()  : mixed
Returns the value of a lazily initialized option.
__isset()  : bool
__set()  : mixed
Sets the value of a lazily initialized option.
addImplicitGroupName()  : mixed
Adds the given group if this constraint is in the Default group.
getDefaultOption()  : string|null
Returns the name of the default option.
getErrorName()  : string
Returns the name of the given error code.
getRequiredOptions()  : array<string|int, string>
Returns the name of the required options.
getTargets()  : string|array<string|int, string>
Returns whether the constraint can be put onto classes, properties or both.
validatedBy()  : string
Returns the name of the class that validates this constraint.
normalizeOptions()  : array<string|int, mixed>

Constants

CLASS_CONSTRAINT

Marks a constraint that can be put onto classes.

public mixed CLASS_CONSTRAINT = 'class'

DEFAULT_GROUP

The name of the group given to all constraints with no explicit group.

public mixed DEFAULT_GROUP = 'Default'

NO_SUCH_CHOICE_ERROR

public mixed NO_SUCH_CHOICE_ERROR = '8e179f1b-97aa-4560-a02f-2a8b42e49df7'

PROPERTY_CONSTRAINT

Marks a constraint that can be put onto properties.

public mixed PROPERTY_CONSTRAINT = 'property'

TOO_FEW_ERROR

public mixed TOO_FEW_ERROR = '11edd7eb-5872-4b6e-9f12-89923999fd0e'

TOO_MANY_ERROR

public mixed TOO_MANY_ERROR = '9bd98e49-211c-433f-8630-fd1c2d0f08c3'

Properties

$callback

public mixed $callback

$groups

The groups that the constraint belongs to.

public array<string|int, string> $groups

$maxMessage

public mixed $maxMessage = 'You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.'

$message

public mixed $message = 'The value you selected is not a valid choice.'

$minMessage

public mixed $minMessage = 'You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.'

$multiple

public mixed $multiple = false

$multipleMessage

public mixed $multipleMessage = 'One or more of the given values is invalid.'

$payload

Domain-specific data attached to a constraint.

public mixed $payload

$strict

public mixed $strict = true

$errorNames

Maps error codes to the names of their constants.

protected static mixed $errorNames = [self::NO_SUCH_CHOICE_ERROR => 'NO_SUCH_CHOICE_ERROR', self::TOO_FEW_ERROR => 'TOO_FEW_ERROR', self::TOO_MANY_ERROR => 'TOO_MANY_ERROR']

Methods

__construct()

Initializes the constraint with options.

public __construct([string|array<string|int, mixed> $options = [] ][, array<string|int, mixed> $choices = null ][, callable|string $callback = null ][, bool $multiple = null ][, bool $strict = null ][, int $min = null ][, int $max = null ][, string $message = null ][, string $multipleMessage = null ][, string $minMessage = null ][, string $maxMessage = null ][, array<string|int, mixed> $groups = null ][, mixed $payload = null ]) : mixed

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.

Parameters
$options : string|array<string|int, mixed> = []

The options (as associative array) or the value for the default option (any other type)

$choices : array<string|int, mixed> = null
$callback : callable|string = null
$multiple : bool = null
$strict : bool = null
$min : int = null
$max : int = null
$message : string = null
$multipleMessage : string = null
$minMessage : string = null
$maxMessage : string = null
$groups : array<string|int, mixed> = null

An array of validation groups

$payload : mixed = null

Domain-specific data attached to a constraint

__get()

Returns the value of a lazily initialized option.

public __get(string $option) : mixed

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.

Parameters
$option : string
Tags
throws
InvalidOptionsException

If an invalid option name is given

__isset()

public __isset(string $option) : bool
Parameters
$option : string
Return values
bool

__set()

Sets the value of a lazily initialized option.

public __set(string $option, mixed $value) : mixed

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.

Parameters
$option : string
$value : mixed
Tags
throws
InvalidOptionsException

If an invalid option name is given

addImplicitGroupName()

Adds the given group if this constraint is in the Default group.

public addImplicitGroupName(string $group) : mixed
Parameters
$group : string

getDefaultOption()

Returns the name of the default option.

public getDefaultOption() : string|null
Return values
string|null

getErrorName()

Returns the name of the given error code.

public static getErrorName(string $errorCode) : string
Parameters
$errorCode : string
Tags
throws
InvalidArgumentException

If the error code does not exist

Return values
string

getRequiredOptions()

Returns the name of the required options.

public getRequiredOptions() : array<string|int, string>

Override this method if you want to define required options.

Tags
see
__construct()
Return values
array<string|int, string>

getTargets()

Returns whether the constraint can be put onto classes, properties or both.

public getTargets() : string|array<string|int, string>

This method should return one or more of the constants Constraint::CLASS_CONSTRAINT and Constraint::PROPERTY_CONSTRAINT.

Return values
string|array<string|int, string>

One or more constant values

validatedBy()

Returns the name of the class that validates this constraint.

public validatedBy() : string

By default, this is the fully qualified name of the constraint class suffixed with "Validator". You can override this method to change that behavior.

Return values
string

normalizeOptions()

protected normalizeOptions(mixed $options) : array<string|int, mixed>
Parameters
$options : mixed
Return values
array<string|int, mixed>

        
On this page

Search results