1

buildForm で作成された 2 つのフォームがあります。

ここにScorebuildFormがあります:

public function buildForm(FormBuilderInterface $builder, array $options){
    $builder->add('mesPoints','integer',array('required' => true))
            ->add('pointsAdversaire','integer',array('required' => true));
}

ここにCombatbuildFormがあります:

public function buildForm(FormBuilderInterface $builder, array $options){
    $builder->add('tour','integer')
            ->add('score',new CompetitionCombatScoreType(),array('required' => false));
}

を作成するときScoreに、入力しないmesPointspointsAdversaire、両方のフィールドに入力する必要があることを示すポップアップが表示されます。

Scoreから を作成するCombatと、教義の例外しかありません。

Scoreモデルに制約があり'cascade_validation' => trueCombatbuildFormに制約があった場合DefaultOptions、ページがリロードされ、フィールドに入力する必要があることが通知されます。

しかし、クライアント側の検証からのポップアップを使用して、スコアを直接作成したときと同じ結果を得ることができません。

何か案は ?

4

1 に答える 1

1

最初のケースは、クライアント ネイティブの HTML5 フィールドの検証によって管理されます - 入力にはrequired属性があります。

score2番目のケースでは、必須ではないとマークしたため、子入力にはrequired属性がなく、クライアント側の検証がscore空の値で渡されるのはそのためです。

于 2013-12-12T03:21:51.197 に答える