все. Здесь опубликован аналогичный вопрос, но ответ не решает мою ошибку.
Я пытаюсь использовать автоматическую проверку Symfony 4.3 на объекте, но он просто не работает.
Я раскомментировал две строки из validator.yaml
и включил validation: {enable_annotations: true}
в framework.yaml
конфигурационном файле, и он все еще не работает.
Даже если я добавляю или удаляю аннотации @Assert из сущности, проверка всегда возвращает массив нулевой длины.
Это мой класс сущности:
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Company
*
* @ORM\Table(name="company")
* @ORM\Entity(repositoryClass="App\Repository\CompanyRepository")
*/
class Company
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="type", type="string", length=255, nullable=false)
* @Assert\NotNull
*/
public $type;
}
Как видите, атрибут type не может быть нулевым, но проверка не работает должным образом. Вот оно:
$company = new Company();
$validator = Validation::createValidator();
$errors = $validator->validate($company);
На этом этапе $ errors - это просто пустой массив.
Требуется ли какая-либо дополнительная конфигурация? У кого-нибудь есть теория?