public function build()
 {
     $this->setObjectManager($this->createEntityManager());
     $this->serializerBuilder = BreezeSerializerBuilder::create($this->getObjectManager());
     $this->validatorBuilder = new ValidatorBuilder();
     if ($this->annotationsEnabled) {
         $this->validatorBuilder->enableAnnotationMapping();
     }
     foreach ($this->mappings as $mapping) {
         if (isset($mapping['serializer'])) {
             $this->serializerBuilder->addMetadataDir($mapping['serializer']);
         }
         if (isset($mapping['validation'])) {
             if ($mapping['type'] == 'xml') {
                 $this->validatorBuilder->addXmlMapping($mapping['validation']);
             } else {
                 if ($mapping['type'] == 'yaml') {
                     $this->validatorBuilder->addYamlMapping($mapping['validation']);
                 }
             }
             //                else if ($mapping['type'] == 'annotation') {
             //                    $this->validatorBuilder->enableAnnotationMapping();
             //                }
         }
     }
     $serializer = $this->serializerBuilder->build();
     $this->setSerializer($serializer);
     $validator = $this->validatorBuilder->getValidator();
     $this->setValidator($validator);
 }
 public function testWarmUp()
 {
     $validatorBuilder = new ValidatorBuilder();
     $validatorBuilder->addXmlMapping(__DIR__ . '/../Fixtures/Validation/Resources/person.xml');
     $validatorBuilder->addYamlMapping(__DIR__ . '/../Fixtures/Validation/Resources/author.yml');
     $validatorBuilder->addMethodMapping('loadValidatorMetadata');
     $validatorBuilder->enableAnnotationMapping();
     $file = sys_get_temp_dir() . '/cache-validator.php';
     @unlink($file);
     $fallbackPool = new ArrayAdapter();
     $warmer = new ValidatorCacheWarmer($validatorBuilder, $file, $fallbackPool);
     $warmer->warmUp(dirname($file));
     $this->assertFileExists($file);
     $values = (require $file);
     $this->assertInternalType('array', $values);
     $this->assertCount(2, $values);
     $this->assertArrayHasKey('Symfony.Bundle.FrameworkBundle.Tests.Fixtures.Validation.Person', $values);
     $this->assertArrayHasKey('Symfony.Bundle.FrameworkBundle.Tests.Fixtures.Validation.Author', $values);
     $values = $fallbackPool->getValues();
     $this->assertInternalType('array', $values);
     $this->assertCount(2, $values);
     $this->assertArrayHasKey('Symfony.Bundle.FrameworkBundle.Tests.Fixtures.Validation.Person', $values);
     $this->assertArrayHasKey('Symfony.Bundle.FrameworkBundle.Tests.Fixtures.Validation.Author', $values);
 }
<?php

require_once __DIR__ . '/_common.php';
use App\Entity\Person;
use Symfony\Component\Validator\ValidatorBuilder;
// builder which creates Validator as we need
$builder = new ValidatorBuilder();
$builder->addYamlMapping(__DIR__ . '/../config/validation.yml');
//$builder->addXmlMapping(__DIR__.'/../config/validation.xml');
$ymlValidator = $builder->getValidator();
// Example no. 1
// -------------
echo "Example no. 1: \n";
$person = new Person();
//$person->setName("FakePetr");
//$person->setEmail("*****@*****.**");
//$person->setPassword("FakePetr");
$violations = $ymlValidator->validate($person);
App\Utils::printViolations($violations);
// Example no. 2
// -------------
echo "Example no. 2 (groups): \n";
// New builder works new validation definition with groups
$builder = new ValidatorBuilder();
$builder->addYamlMapping(__DIR__ . '/../config/validation-groups.yml');
$ymlValidator = $builder->getValidator();
$person = new Person();
//$violations = $ymlValidator->validate($person);
$violations = $ymlValidator->validate($person, null, ["Default", "Premium"]);
App\Utils::printViolations($violations);