<?php /* * This file is part of the NelmioApiDocBundle package. * * (c) Nelmio * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Nelmio\ApiDocBundle\Tests\Functional\Entity; use Symfony\Component\Validator\Constraints as Assert; class SymfonyConstraints { /** * @var int * * @Assert\NotBlank() */ private $propertyNotBlank; /** * @var int * * @Assert\NotNull() */ private $propertyNotNull; /** * @var int * * @Assert\Length(min="0", max="50") */ private $propertyAssertLength; /** * @var int * * @Assert\Regex(pattern="/[a-z]{2}/") */ private $propertyRegex; /** * @var int * * @Assert\Count(min="0", max="10") */ private $propertyCount; /** * @var int * * @Assert\Choice(choices={"choice1", "choice2"}) */ private $propertyChoice; /** * @var int * * @Assert\Choice(callback={SymfonyConstraints::class,"fetchAllowedChoices"}) */ private $propertyChoiceWithCallback; /** * @var int * * @Assert\Choice(callback="fetchAllowedChoices") */ private $propertyChoiceWithCallbackWithoutClass; /** * @var string[] * * @Assert\Choice(multiple=true, choices={"choice1", "choice2"}) */ private $propertyChoiceWithMultiple; /** * @var int * * @Assert\Expression( * "this.getCategory() in ['php', 'symfony'] or !this.isTechnicalPost()", * message="If this is a tech post, the category should be either php or symfony!" * ) */ private $propertyExpression; /** * @var int * * @Assert\Range(min=1, max=5) */ private $propertyRange; /** * @var int * * @Assert\LessThan(42) */ private $propertyLessThan; /** * @var int * * @Assert\LessThanOrEqual(23) */ private $propertyLessThanOrEqual; /** * @Assert\Count(min="0", max="10") */ public function setPropertyNotBlank(int $propertyNotBlank): void { $this->propertyNotBlank = $propertyNotBlank; } public function setPropertyNotNull(int $propertyNotNull): void { $this->propertyNotNull = $propertyNotNull; } public function setPropertyAssertLength(int $propertyAssertLength): void { $this->propertyAssertLength = $propertyAssertLength; } public function setPropertyRegex(int $propertyRegex): void { $this->propertyRegex = $propertyRegex; } public function setPropertyCount(int $propertyCount): void { $this->propertyCount = $propertyCount; } public function setPropertyChoice(int $propertyChoice): void { $this->propertyChoice = $propertyChoice; } public function setPropertyChoiceWithCallback(int $propertyChoiceWithCallback): void { $this->propertyChoiceWithCallback = $propertyChoiceWithCallback; } public function setPropertyChoiceWithCallbackWithoutClass(int $propertyChoiceWithCallbackWithoutClass): void { $this->propertyChoiceWithCallbackWithoutClass = $propertyChoiceWithCallbackWithoutClass; } public function setPropertyChoiceWithMultiple(array $propertyChoiceWithMultiple): void { $this->propertyChoiceWithMultiple = $propertyChoiceWithMultiple; } public function setPropertyExpression(int $propertyExpression): void { $this->propertyExpression = $propertyExpression; } public function setPropertyRange(int $propertyRange): void { $this->propertyRange = $propertyRange; } public function setPropertyLessThan(int $propertyLessThan): void { $this->propertyLessThan = $propertyLessThan; } public function setPropertyLessThanOrEqual(int $propertyLessThanOrEqual): void { $this->propertyLessThanOrEqual = $propertyLessThanOrEqual; } /** * @return array */ public static function fetchAllowedChoices() { return ['choice1', 'choice2']; } }