5

基本的に2つのフィールドを持つSymfony 2のフォームがあります。

public function buildForm(FormBuilderInterface $builder, array $options) {

    $builder->add('contactType', 'select', array(  'choices' => $contactTypes ))
            ->add('value', 'text');
}

次に、FormEvents::PRE_SET_DATA イベントをリッスンする EventSubscriber を追加しました。私が実際にやりたいのは、contactType (メール、モバイル、固定回線、ファックスを表す 1 から 4 の数値) の値に応じて検証の方法を変更することです。

このチュートリアルに従いましたhttp://symfony.com/doc/current/cookbook/form/dynamic_form_generation.html

しかし、値フィールドに制約を追加する方法がわかりません。

誰でも私を助けることができますか?よろしくお願いします。

4

2 に答える 2

9

イベントサブスクライバーに検証制約を動的に追加する代わりに(これが可能かどうかはわかりません)、グループをフィールドの検証制約に設定し、送信されたデータに基づいて検証グループを決定できます

于 2013-02-02T18:23:19.720 に答える