Php Symfony 3从生成器和Uniquentity contraint创建验证程序

Php Symfony 3从生成器和Uniquentity contraint创建验证程序,php,symfony,validation,doctrine-orm,Php,Symfony,Validation,Doctrine Orm,我尝试在服务管理中使用验证器作为具有 我创建的验证器如下所示: $this->validator = Validation::createValidatorBuilder() ->addYamlMapping(__DIR__.'/../../Resources/config/validation/Directory.Person.yml') ->getValidator(); My Directory.Person.yml: I

我尝试在服务管理中使用验证器作为具有

我创建的验证器如下所示:

$this->validator = Validation::createValidatorBuilder()
            ->addYamlMapping(__DIR__.'/../../Resources/config/validation/Directory.Person.yml')
            ->getValidator();
My Directory.Person.yml:

I360\DomainBundle\Entity\Directory\Person:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: [gender, type]
            ignoreNull: false
    properties:
        lastname:
            - NotBlank: ~
        gender:
            - NotBlank: ~
最后,我用以下方法验证我的实体:

$this->validator->validate($contact);` ($contact is an instance of Person class)
属性验证有效,但Uniquentity验证会引发此错误

试图从中加载类“doctrine.orm.validator.unique” 全局命名空间。你忘了“使用”语句了吗

我也尝试使用注释,同样的问题也会出现。 当我尝试在控制器中验证我的实体时,不会出现此问题


我是否遗漏了什么?或者做了什么错事?

您是否将该用法放在了文件的顶部?doctor.orm.validator.unique不是一个类。它是doctor Bundle中orm.xml中的一个键,它引用了类“Symfony\Bridge\doctor\validator\Constraints\uniquentity”“我已经尝试使用我的文件列表,但没有成功。该桥只在实际的Symfony framework应用程序中工作。不确定您为什么会收到“未找到类”消息,但如果您发布的yaml文件与您发布的错误消息匹配,则会有所帮助。但是,即使您完成了这一步,您仍然需要配置并注入一个实体管理器。您想要哪个yaml文件?我必须在验证器中注入一个实体管理器?这个错误有什么好运气吗?