4

symfony プロジェクトで MinLength バリデーターを使用しようとしています。

これが私がそれを使用している方法です:

use Symfony\Component\Validator\Constraints\MinLength;
class RegisterNewUser
{
    protected $password;


    public static function loadValidatorMetadata(ClassMetadata $metadata)
    {
        if( isset( $metadata->properties["password"] ) ) 
            unset($metadata->properties["password"]);


        $password_blank  = new NotBlank();
        $password_min       = new MinLength(5);


        $password_blank->message    = "The password should not be blank";
        $password_min->message     = "The password is too short. It should have {{ limit }} characters or more";


        $metadata->addPropertyConstraint('password', $password_blank);
        $metadata->addPropertyConstraint('password', $password_min );
    }
}

私が得ているエラーメッセージは次のとおりです。

FatalErrorException: エラー: クラス 'Symfony\Component\Validator\Constraints\MinLength' が見つかりません...

4

2 に答える 2

10

私は解決策を見つけました:

Symfony のドキュメントから:

MinLength 制約はバージョン 2.1 以降非推奨であり、Symfony 2.3 で削除されます。代わりに、最小オプションで長さを使用してください。

したがって、解決策は次のとおりです。

use Symfony\Component\Validator\Constraints\Length;

....

$password_min           = new Length(array('min'=>5));
于 2013-06-04T12:49:32.983 に答える