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;
}
<?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';
}
}
私はます$ form-> bindRequest($要求)を使用します。コントローラーにエラーがあります。 [意味的エラー]プロパティTopxia \ LiftBundle \ Form \ AddUser :: $ usernameの注釈 "@Symfony \ Component \ Validator \ Constraint \ NotBlank"が存在しないか、または自動ロードできませんでした。 500内部サーバーエラー - AnnotationException これについてはわかりません。 ありがとうSymfony2のbindrequestエラー
私はsymfonyにタイプミスがあると思います。名前空間の他の名前はすべて単数形です。 – meze
これはおそらくタイプミスではありませんが、これは他のネームスペース – Josiah