Validates that a given collection's (i.e. an array or an object that implements Countable) element count is between some minimum and maximum value.
.. versionadded:: 2.1 The Count constraint was added in Symfony 2.1.
To verify that the emails
array field contains between 1 and 5 elements
you might add the following:
.. configuration-block:: .. code-block:: yaml # src/Acme/EventBundle/Resources/config/validation.yml Acme\EventBundle\Entity\Participant: properties: emails: - Count: min: 1 max: 5 minMessage: "You must specify at least one email" maxMessage: "You cannot specify more than {{ limit }} emails" .. code-block:: php-annotations // src/Acme/EventBundle/Entity/Participant.php namespace Acme\EventBundle\Entity; use Symfony\Component\Validator\Constraints as Assert; class Participant { /** * @Assert\Count( * min = "1", * max = "5", * minMessage = "You must specify at least one email", * maxMessage = "You cannot specify more than {{ limit }} emails" * ) */ protected $emails = array(); } .. code-block:: xml <!-- src/Acme/EventBundle/Resources/config/validation.xml --> <class name="Acme\EventBundle\Entity\Participant"> <property name="emails"> <constraint name="Count"> <option name="min">1</option> <option name="max">5</option> <option name="minMessage">You must specify at least one email</option> <option name="maxMessage">You cannot specify more than {{ limit }} emails</option> </constraint> </property> </class> .. code-block:: php // src/Acme/EventBundle/Entity/Participant.php namespace Acme\EventBundle\Entity; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Constraints as Assert; class Participant { public static function loadValidatorMetadata(ClassMetadata $data) { $metadata->addPropertyConstraint('emails', new Assert\Count(array( 'min' => 1, 'max' => 5, 'minMessage' => 'You must specify at least one email', 'maxMessage' => 'You cannot specify more than {{ limit }} emails', ))); } }
type: integer
[:ref:`default option<validation-default-option>`]
This required option is the "min" count value. Validation will fail if the given collection elements count is less than this min value.
type: integer
[:ref:`default option<validation-default-option>`]
This required option is the "max" count value. Validation will fail if the given collection elements count is greater than this max value.
type: string
default: This collection should contain {{ limit }} elements or more.
.
The message that will be shown if the underlying collection elements count is less than the min option.
type: string
default: This collection should contain {{ limit }} elements or less.
.
The message that will be shown if the underlying collection elements count is more than the max option.
type: string
default: This collection should contain exactly {{ limit }} elements.
.
The message that will be shown if min and max values are equal and the underlying collection elements count is not exactly this value.