Я пытаюсь использовать валидаторы FOSUserBundle в своей собственной форме, но я не знаю, как настроить validator.yml. В настоящее время она выглядит следующим образом:Symfony2: Как использовать валидаторы другого пакета
Acme\UserBundle\Entity\User:
constraints:
- FOS\UserBundle\Validator\Unique:
property: usernameCanonical
- FOS\UserBundle\Validator\Unique:
property: emailCanonical
properties:
username:
- NotBlank: ~
email:
- Email: ~
- NotBlank: ~
mandant:
- NotBlank: ~
- Type: Acme\UserBundle\Entity\Mandant
Но это приводит к следующей ошибке PHP:
[05-Mar-2012 14:47:56 UTC] PHP Stack trace:
[05-Mar-2012 14:47:56 UTC] PHP 1. {main}() W:\redacted\symfony_webfrontend\app\console:0
[05-Mar-2012 14:48:10 UTC] PHP Fatal error: Class 'FOS\UserBundle\ValidatorUnique' not found in W:\redacted\symfony_webfrontend\vendor\symfony\src\Symfony\Component\Validator\Mapping\Loader\FileLoader.php on line 73
Это выглядит как путь класса неправильно, но я не могу найти какую-либо документацию о том, как использовать валидаторы другого пучка в моем собственном validators.yml ...
Имейте loog в сервисах, определенных FOS User Bundle. Возможно, это валидаторы - это службы, и вам нужно использовать идентификатор службы вместо реального имени класса. Впрочем, просто дикая догадка! – Sgoettschkes