* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\Exception\MissingOptionsException; /** * @Annotation * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) * * @author Bernhard Schussek */ class Count extends Constraint { const TOO_FEW_ERROR = 'bef8e338-6ae5-4caf-b8e2-50e7b0579e69'; const TOO_MANY_ERROR = '756b1212-697c-468d-a9ad-50dd783bb169'; protected static $errorNames = array( self::TOO_FEW_ERROR => 'TOO_FEW_ERROR', self::TOO_MANY_ERROR => 'TOO_MANY_ERROR', ); public $minMessage = 'This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.'; public $maxMessage = 'This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.'; public $exactMessage = 'This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.'; public $min; public $max; public function __construct($options = null) { if (null !== $options && !is_array($options)) { $options = array( 'min' => $options, 'max' => $options, ); } parent::__construct($options); if (null === $this->min && null === $this->max) { throw new MissingOptionsException(sprintf('Either option "min" or "max" must be given for constraint %s', __CLASS__), array('min', 'max')); } } } __halt_compiler();----SIGNATURE:----g8K8yJCuo7CUqng3QcvdF7ohVqR5mj3D5CVfYjCnfBtewO/xSCWYavLjH/5uMKVhUwWQkrCkIex2zI5bVbluFcbfJHAHni6XojRJsTt9YbRpWxwrvf2LvtnA9uV12N6txn2TJQt73LEFovUbJWa6v4ZOhaCjEUJfCAtRJKQ7uX2eifxce+KBX9DyRf2PoqRt7MlaifLZktfjDYMkiAw6ofa0xxW3oX9KysB27m6vQxDeBjV6cIkIjgzv7LBzyGIB1/2cNFxrUxIGfso4OG/kT/laC5gXJrc8sw5+KkbU37Z/44Y4YpSP3lljnW1BcOI1d89+MfUa1ixOVDWhXe0p1fvUCIQ7NbUs5unzMOAJaj+5Yae0Dz33ABORdPvJtyYBtKzozSzJhBCJwf7m2U8yLXd2J4d/JbRw25gdRn+dB0M29iymtx8y5f2ykcICj1IeLGZ/j8kFcBJB2hfjPNGzRs2vI/k3k2+DxPdzcUUr/ly+uMX75LOcZmVKbghdIKG4jOufcW7LjIN0a+R0sU4bOMKAcR5/xxEOaOzyq1Ifi7nMAX0bTqXPteHa0AEnmikBQtFAzw6uBYhB7C0WnKRmJrEDrlcRIaILUCr6aOdaenk6ohqDzW4kNwaG0kqaQfwWMykEXSNDrtV1S1bR1bboLPryqWdsvqtL1Ce3/nT9udY=----ATTACHMENT:----MzEzMDc0NDE3NDQ3Njg5NSA2MjYwNzQ1ODY2MjIwNjgwIDU5NzYzNjY0MDYyMzc5NjQ=