Symfony2 bindrequest错误

use*_*109 2 forms symfony php-5.3

namespace Topxia\LiftBundle\Form;

use Symfony\Component\Validator\Constraint as Assert;

class AddUser {

    /**
     * @Assert\NotBlank(message="???????")
     */
    public $username;

    /**
     * @Assert\NotBlank(message="????????")
     */
    public $name;

    /**
     * @Assert\NotBlank(message="??????")
     * @Assert\MinLength(limit=4,message="?????")
     * @Assert\MaxLength(limit=24,message="?????")
     */
    public $password;

    /**
     * @Assert\NotBlank(message="??????")
     */
    public $rpassword;

    /**
     * @Assert\NotBlank(message="???????")
     * @Assert\Email(message="???????")
     */
    public $email;

    /**
     * @Assert\NotBlank(message="k3????????")
     */
    public $num;

    /**
     * @Assert\NotBlank()
     * @Assert\Choice({"0", "1", "2", "3", "4"})
     */
    public $roles;

    public $changePassword;
}
Run Code Online (Sandbox Code Playgroud)
<?php
// src/Topxia/LiftBundle/Form/AddUserType.php

namespace Topxia\LiftBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class AddUserType extends AbstractType{

    public function buildForm(FormBuilder $builder, array $options){
        $builder->add('username', 'text', array('label' => '????'));
        $builder->add('name', 'text', array('label' => '???'));
        $builder->add('password', 'password', array('label' => '??'));
        $builder->add('rpassword', 'password', array('label' => '????'));
        $builder->add('email', 'email', array('label' => '??'));
        $builder->add('num', 'text', array('label' => 'K3????'));
        $builder->add('roles', 'choice', array('label' => '???', 'multiple'  => false, 'expanded' => true,
                'choices' => array(
                    '0' => '?????',
                    '1' => '?????',
                    '2' => '?????',
                    '3' => '???',
                    '4' => '???'
        ),
        ));
        $builder->add('changePassword', 'checkbox', array('label' => '??????',  'value' => '1'));
    }

    public function getName(){
        return 'add_user';
    }

}
Run Code Online (Sandbox Code Playgroud)

当我使用$ form-> bindRequest($ request); 在控制器中有一个错误:[语义错误]属性Topxia\LiftBundle\Form\AddUser :: $ username中的注释"@Symfony\Component\Validator\Constraint\NotBlank"不存在,或无法自动加载.500内部服务器错误 - AnnotationException我不知道这个.谢谢

gil*_*den 10

您的命名空间声明中有拼写错误.你错过了一个"s":

use Symfony\Component\Validator\Constraints as Assert;
Run Code Online (Sandbox Code Playgroud)