在 Symfony 堆栈之外使用 UniqueEntity

Using UniqueEntity outside of Symfony stack

我有一个基于 Silex 构建的应用程序,我使用 Doctrine 作为我的 ORM。

我有一个问题,当用户试图重复使用电子邮件时,我试图得到一个干净的错误,我找到了验证器 UniqueEntity 但它似乎是为完整堆栈版本设计的交响乐。

我的问题是,这是真的吗?我会采取行动并假设它,因为我还没有找到在 Symfony 之外成功使用它的人。

我的第二个问题是,如果我不能使用 UniqueEntity,我的下一个最佳选择是什么?我正在使用 Symfony Validator 组件,并希望使用插入其中的东西将其全部保存在同一代码块中。

您可以将 UniqueEntity 与 Silex 一起使用。

这是带有 Doctrine ManagerRegistry 实现的服务提供程序包 - saxulum/saxulum-doctrine-orm-manager-registry-provider. Also you can find the instructions how to use it with the UniqueEntity validator in README

但您可能想要实现自己的 UniqueEntity 验证器。

例如,如果您想验证 DTO 对象(或任何非实体对象),因为 Symfony 的 UniqueEntity 验证器不支持它(请参阅 GitHub 上的 issue) .