我正在研究一种获取实体的所有验证约束的方法(我试图实现的是用JSON返回此数据,并使用JQuery验证插件在客户端应用相同的约束),但是在获取约束时遇到了一些麻烦,
这是我当前的代码:
$metadata = new \Symfony\Component\Validator\Mapping\ClassMetadata("Namespace\JobBundle\Entity\Job");
$annotationloader = new AnnotationLoader(new AnnotationReader());
$annotationloader->loadClassMetadata($metadata);
我在$ metadata中得到的是constraints属性的一个空数组,其余的($ properties和$ members仅具有错误消息...但没有实际的约束(例如:required,integer ...))。
我做错了什么?
最佳答案
我可能会使用验证器服务,而不是实例化新的类元数据。您永远不会知道某些类是否通过服务初始化。
$metadata = $this->container
->get('validator')
->getMetadataFactory()
->getClassMetadata("Namespace\JobBundle\Entity\Job");
和
$metadata
应该具有您要查找的数据Symfony 2.3及更高版本
$metadata = $this->container
->get('validator')
->getMetadataFor("Namespace\JobBundle\Entity\Job");
关于symfony - Symfony2获取实体上的验证约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15482725/