1

これは私のフォームです:

$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 の検証アノテーションを持つ属性です。

/**
     * @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() が空です。userRegisterグループを使用している場合、他のすべての属性が検証されます。つまり、私が行うすべてのこと、パスワード属性は検証されません。

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

4

1 に答える 1

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'),
        );
    }

他のものと同じです。

于 2013-04-03T18:14:40.687 に答える