* * 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:----LlU0AQ3wjwjYpnCZy2iOk85wiUeZsysOlsU5wX4Bsqw+Jf0rE19QlAubsuNJH+wX/ACTIkH+/IpAzkwUnkZXx8xV3kYnHPa2UsxKIM/uzy0VDzX8LDI7kuxeLcjSCnPi0VHBWC6VhUB+sJHORrpH7KOqBETTpu41bwZGBtuCRjHWFU58go8uuGrZbqJ/KEhWhLhOfLZEu2hzqN3g9NAUrUs9G/E8OD9pN/rSVS4ROBCcYVmDH8yImkWtPscIh8Y0XLkSU0tKZT6Y7QmsaPLkGmmoi1aNiOv23xyfzAoHoTZXx43xYEfEy3RIsV+JzZGZ9aWX9HJCGIxwGTpKvjQnH2CfgyuS38xReRGVrp485nbcRF5elwH7b+LlvPjS1fe8FrsuDLe0FM+a9wcx8rk24acZyUOjn2tWJw+nQNhZlBUOA5pJdDy20QQ5pYB7nU4P0q1G0aJn6YzJbcGDvRodSr9abgDLhCa7im4pBuT7TVmTPUGkRkHmc3FJxZ5p3RO5tWA+eaREJ6h9BEDT2MLVwF7lv7FZ+8XRczXyAg9SmIY3RCr6kP/kHSOrJNfF9cPwrWn+emMJBydSxSzPuSPko7tu71/V97o3MsvOHyQEvZas9IrXpdw2u6ByjzOtdVG3TKD89hVr8NdR8/vd/5vZOMPt7y9dsbkpsJuBPiGdmes=----ATTACHMENT:----NzU0NjM0ODMyNzQ2MzEyMiAzNDgzODI3NjQyNjA5NzcwIDg0MzAzOTI1NjYyOTU0NDY=