2012-04-23 8 views
1

これは私のフォームで動作します。Symfony2の検証グループ - ただ一つのグループは

$forumuser = new Forumuser(); 
     $passwordform = $this->createFormBuilder($forumuser, array('validation_groups' => array('userSettings'))) 
      ->add('passwordold', 'password', array('attr' => array('autocomplete' => 'off'), 'required' => false, 'error_bubbling' => true, 'property_path' => false)) 
      ->add('password', 'repeated', array( 'type' => 'password', 
                 'invalid_message' => 'user.myprofile.password.repeat', 
                 'options' => array('attr' => array('autocomplete' => 'off'), 'required' => false, 'error_bubbling' => true)              
                ) 
      ) 
      ->getForm(); 

そして、これはForumUser.classでvalidationannotationsを持つ属性である:私はグループを使用したい

/** 
    * @var string $password 
    * 
    * @ORM\Column(name="password", type="string", length=200, nullable=false) 
    * @Assert\NotBlank(message="forumuser.password.notblank", groups={"userRegister", "userSettings"}) 
    * @Assert\MinLength(limit="4", message="forumuser.password.minlength", groups={"userRegister", "userSettings"}) 
    */ 
    private $password; 

userSettingsがバインドされた後、$ passwordform-> getErrors()は空です。私がユーザーのグループを登録すると、他のすべての属性が検証されます。つまり、パスワードの属性は検証されません。

誰かが間違っていることを知っていますか? ありがとうございます。

答えて

0
You have to define on form type , diiferent group name like this 

public function getDefaultOptions(array $options) 
    { 
     return array(
      'data_class' => '', 
      'cascade_validation' => true, 

      'validation_groups' => array('user_settings'), 
     ); 
    } 

他のものと同様です。

関連する問題