1

我有 2 个用 buildForm 构建的表单。

这是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时,如果我不填写mesPoints并且pointsAdversaire我有一个弹出窗口,表明我必须填写这两个字段。

当我Score从 a创建 a 时Combat,我只有教义例外。

如果我对Score模型有限制并且我'cascade_validation' => trueCombatbuildForm有限制DefaultOptions,则页面会重新加载并告诉我必须填写该字段。

但是我无法获得与直接创建分数时相同的结果:使用来自客户端验证的弹出窗口。

有任何想法吗 ?

4

1 回答 1

1

第一种情况由客户端原生 HTML5 字段验证管理 - 输入具有required属性。

在第二种情况下,您标记score为不需要,因此子输入没有required属性,这就是客户端验证score以空值通过的原因。

于 2013-12-12T03:21:51.197 回答