Ошибка с ValidatorInterface и ConstraintViolationList - PullRequest
1 голос
/ 10 ноября 2019

Я получаю сообщение об ошибке при попытке проверить ограничение:

Аргумент 1, переданный Symfony \ Component \ Validator \ ConstraintViolationList :: add () должен реализовать интерфейс Symfony \ Component \ Validator \ ConstraintViolationInterface, строказадано

Сущность здесь:

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity(repositoryClass="App\Repository\ProjectRepository")
 * @UniqueEntity("name",message="This name is already in use.")
 */
class Project
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255, unique=true)
     */
    private $name;

    public function getName(): ?string
    {
        return $this->name;
    }

    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }

....
}
use Symfony\Component\Validator\Validator\ValidatorInterface;
use App\Entity\Project;

class ApiService
{
    /** @var EntityManagerInterface $em */
    private $em;
    private $token_storage;
    private $user;
    /**
     * SampleService constructor.
     * @param EntityManagerInterface $em
     */
    public function __construct(EntityManagerInterface $em, TokenStorageInterface $token_storage, ValidatorInterface $validator)
    {
        $this->em = $em;
        $this->token_storage = $token_storage;
        $this->validator = $validator;
        $this->user = null !== $this->token_storage->getToken() ? $this->token_storage->getToken()->getUser() : null;

    }

    public function createObject(array $objectFields = []): array
    {
        $em = $this->em;
        $validator = $this->validator;


        $object = new Project();


        $object->setName("ABC123");


        $formErrors = $validator->validate($object);// Error is here

    }
}

Аргумент 1, переданный Symfony \ Component \ Validator \ ConstraintViolationList :: add (), должен реализовывать интерфейс Symfony \ Component \ Validator \ ConstraintViolationInterface, stringучитывая

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...