Пользовательский валидатор Symfony2 - PullRequest
0 голосов
/ 02 июня 2011

Я пытаюсь создать собственный валидатор с помощью symfony2, но происходит нечто странное:

Я создал и Password, и PasswordValidate, выполнив шаги в symfony2 cookbook , но впервые при загрузке страницы я получаю эту ошибку:

AnnotationException: [Semantical Error] The annotation "@Symfony\Component\Validator\Constraints\Password" in property NMSP\MyBundle\Entity\User::$password does not exist, or could not be auto-loaded. 

после перезагрузки ошибка исчезает, и проверка по-прежнему не запускается, и возвращается код действителен.

вот соответствующий код:

//annotation declaration:
/**
 * @ORM\Column(type="string", length="32", unique="true")
 * 
 * @Assert\MinLength(3)
 * @Assert\Password2()
 */
protected $password;

//load files with the following in the code
services:
  validator.password:
    class: NMSP\MyBundle\Validator\PasswordValidator
    tags:
        - { name: validator.constraint_validator, alias: password }

не могу понять это :(

1 Ответ

6 голосов
/ 02 июня 2011

Предполагается, что пользовательское ограничение валидатора находится не в пространстве имен Symfony \ Component \ Validator \ Constraints, а в вашем собственном пространстве имен: NMSP \ MyBundle \ Validator.

Вы должны добавить следующий оператор использования:

use NMSP\MyBundle\Validator as NMSPAssert;

Затем используйте следующую аннотацию для свойства $username:

@NMSPAssert\Password()

Это должно сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...