开发者

Symfony2 custom validator

i am trying to build an custom validator with symfony2 but something strange happens:

i have created both Password and PasswordValidate by following th开发者_C百科e steps in symfony2 cookbook but first time when i load the page i get this error:

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. 

after reloading the error disappears and the validation still not fires and it return the code is valid.

here is the relevant code:

//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 }

can`t figure this one out:(


Assuming your custom validator constraint is not in the Symfony\Component\Validator\Constraints namespace, but your own namespace: NMSP\MyBundle\Validator.

You should add the following use statement:

use NMSP\MyBundle\Validator as NMSPAssert;

Then use the following annotation on the $username property:

@NMSPAssert\Password()

That should do it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜