【发布时间】:2021-01-27 12:02:33
【问题描述】:
我只是想确保我的 @Assert\NotBlank 在 Embeddable 中的一个字段上可以在 phpunit-test 中工作(使用 Doctrine 2.7 和 Symfony 5.1),但似乎没有检查制成。 为了确保它与 test-env 无关,我使用注入的验证器测试了相同的东西 在具有相同结果的测试服务器上的路由上。嵌入实体上的断言冲突正常工作。
有什么建议为什么会出现这种情况?
所以基本上:
/**
* @package App\Entity\Embeddables
* @ORM\Embeddable
*/
class MyEmbeddable
{
/**
* @var string
* @ORM\Column(type="string", nullable=false)
* @Assert\NotBlank
*/
private string $text;
}
与
/**
* @ORM\Entity(repositoryClass=MyThingRepository::class)
*/
class MyThing
{
//..ID-stuff
/**
* @var MyEmbeddable
* @ORM\Embedded(class="App\Entity\Embeddables\MyEmbeddable")
*/
private MyEmbeddable $embeddableTestVar;
}
会导致:
$myThing = new MyThing();
$validator = Validation::createValidatorBuilder()->enableAnnotationMapping()->getValidator();
dd($validator->validate($myThing));
打印一个空数组。
任何帮助将不胜感激!
【问题讨论】:
-
为什么是-1?我很确定其他不熟悉该主题的人可以从中受益。
标签: symfony validation doctrine