src/Database/Domain/Validator/EntityValidator.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Database\Domain\Validator;
  3. use App\Database\Domain\Exception\ModelValidationException;
  4. use Symfony\Component\Validator\Validator\ValidatorInterface;
  5. class EntityValidator
  6. {
  7.     private ValidatorInterface $validator;
  8.     public function __construct(ValidatorInterface $validator)
  9.     {
  10.         $this->validator $validator;
  11.     }
  12.     public function validate($content): void
  13.     {
  14.         $errors = [];
  15.         if (is_iterable($content)) {
  16.             foreach ($content as $entity) {
  17.                 $entityErrors $this->validator->validate($entity);
  18.                 if (count($entityErrors) > 0) {
  19.                     $errors[] = $entityErrors;
  20.                 }
  21.             }
  22.         } else {
  23.             $errors $this->validator->validate($content);
  24.         }
  25.         if (count($errors) > 0) {
  26.             throw (new ModelValidationException('Model validation failed'))->setErrors($errors);
  27.         }
  28.     }
  29. }