如何在Symfony 2.1中的嵌入式Form上级联客户端验证

时间:2013-03-03 12:32:44

标签: symfony symfony-2.1 cascade client-side-validation

我有两个使用buildForm构建的表单。

这是Score buildForm:

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

这是Combat buildForm:

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' => true buildForm Combat上有DefaultOptions,页面会重新加载并告诉我必须填写该字段。< / p>

但是,在创建得分时,我无法获得相同的结果:使用客户端验证的弹出窗口。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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