1
私のシナリオは 表示順序付きのエンティティ(モジュール)を作成する必要があり、トピックエンティティおよび関連正しく作られたフォームロード時に、トピックのドロップダウンと表示順のドロップダウンがモジュール名に沿って空白になります。トピックを選択すると、表示順にajax/jsを介してオプションが設定されます。表示順序は、特定のトピック+ 1の下の合計モジュールになる数字に1になります。次回の表示順序が自動的に選択されます。そしてそれは完璧に働いています。しかし、私の問題は、提出後の表示順序の検証に関するものです。その「この値は無効です」と言っています。私はこれがフォームタイプの配列として '選択肢'を与えないことが原因であると理解していますが、この場合はフォームタイプで静的なものとして与えることはできません。誰もが解決策を知っているのを助けてください。 symfony3 - ajax経由で追加するオプションのドロップダウンの選択タイプに 'この値は無効です'を表示
class ModuleType extends AbstractType {
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('topic', EntityType::class, [
'class' => 'AppBundle:Topic',
'choice_label' => 'name',
'placeholder' => 'Choose a Topic'
])
->add('name')
->add('description', TextareaType::class)
->add('displayOrder', ChoiceType::class)
->add('save', SubmitType::class, [
'attr' => ['class' => 'form-control button btn-sm nomargin']
])
;
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver) {
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Module'
));
}
}
FormEventを使用して、 'displayOrder'を選択して、' topic'オプションを選択するのに適していると思います。 Symfonyのフォームイベントの詳細:https://symfony.com/doc/current/form/events.html –