【问题标题】:Error for Constraint added to Field does not show for field添加到字段的约束错误未显示字段
【发布时间】:2016-04-05 07:23:36
【问题描述】:

我动态生成一个表单并添加约束(即Choice)。

$builder->add('test', 'choice', [
    'choices' => [1, 'one', 2 => 'two'],
    'required' => true,
    'expanded' => true,
    'error_bubbling' => true,
    'cascade_validation' => true,
    'label' => 'this_is_a_test',
    'multiple' => false,
    'constraints' => [
        new NotBlank([
            'groups' => ['Default']
        ]),
        new Choice([
            'min' => 1,
            'choices' => [1, 2],
            'groups' => ['Default']
        ])
    ]
]);

当提交带有空数据的表单时,错误会显示在表单上,​​而不是我添加约束的表单元素(也在分析器中检查)。

这些约束没有选项atPath,我将它们直接添加到字段中,所以我不明白它们为什么出现在表单中。

【问题讨论】:

    标签: symfony symfony-forms symfony-validator


    【解决方案1】:

    这就是error_bubbling 选项的作用(您在表单类型中设置为true):

    如果是true,则该字段的任何错误都将传递给父字段或表单。例如,如果在普通字段上设置为true,则该字段的任何错误都将附加到主表单,而不是特定字段。

    【讨论】:

      猜你喜欢
      • 2016-02-26
      • 2023-01-19
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      相关资源
      最近更新 更多