2012-04-01 7 views
1

another questionの回答で私がカスタムパスワードバリデータを持っています。バリデータは、次のようになります。Symfony2カスタムエンティティクラスを取得していないユーザエンティティ

<?php 
namespace Symfony\Component\Validator\Constraints; 

use Symfony\Component\Validator\ConstraintValidator, 
    Symfony\Component\Validator\Constraint, 
    Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface, 
    Symfony\Component\Security\Core\SecurityContextInterface, 
    JMS\DiExtraBundle\Annotation\Validator, 
    JMS\DiExtraBundle\Annotation\InjectParams, 
    JMS\DiExtraBundle\Annotation\Inject; 

/** 
* @Validator("user.validator.current_password") 
*/ 
class CurrentPasswordValidator extends ConstraintValidator 
{ 
    // ... 
} 

私は、このバリデータを使用しようとしている場所は、次のようになります私のUserエンティティ、である:

<?php 

namespace VNN\PressboxBundle\Entity; 

use Symfony\Component\Security\Core\User\UserInterface; 
use Doctrine\ORM\Mapping as ORM; 
use Doctrine\ORM\Mapping\JoinTable as JoinTable; 
use Doctrine\ORM\Mapping\JoinColumn as JoinColumn; 
use Symfony\Component\Validator\Constraints as Assert; 
use Symfony\Component\Validator\ExecutionContext; 
use Symfony\Component\Validator\Mapping\ClassMetadata; 
use Symfony\Component\Validator\Constraints\NotBlank; 
use Symfony\Component\Validator\Constraints\MaxLength; 
use Symfony\Component\Validator\Constraints\Email; 
use Symfony\Component\Validator\Constraints\CurrentPassword; 
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; 

/** 
* VNN\PressboxBundle\Entity\User 
* 
* @ORM\Table(name="user") 
* @ORM\Entity 
*/ 
class User implements UserInterface, \Serializable 
{ 
    public static function loadValidatorMetadata(ClassMetadata $metadata) 
    { 
     $metadata->addPropertyConstraint('current_password', new CurrentPassword()); 
    } 
} 

(私はいくつかのコードを省略しましたが、もちろん、明確にするため)

私のバリデータクラスが認識されていないことを私がいる問題です:。

Fatal error: Class 'Symfony\Component\Validator\Constraints\CurrentPassword' not found in /home/jason/pressbox/src/VNN/PressboxBundle/Entity/User.php on line 438

なぜこれが起こっているのでしょうか?

答えて

1

自分で制約を記述する必要があります。 Symfony2は付属していません。

+0

大丈夫です。私はそれをどうやって行うのか分からない、申し訳ありません。どうすればいいのですか? –

+0

元の回答にコードを追加しました。 –

+0

甘い、ありがとう。 (私は、SOのコメントの長さの最小値が嫌いです。) –

関連する問題