首页 > 解决方案 > 在 Symfony 子表单集合的回调验证器中,如何获取不同字段的值?

问题描述

假设我有一个回调验证器附加到集合子表单中的字段,如下所示:

$callback = new Callback([
    'callback' => function($obj, $context) {
        // Value of field to validate, no problem
        $value = $context->getValue();

        // Get the form, but gets my parent form
        $form = $context->getRoot();

        // Try and get other field value I need to validate current field,
        // but gets "child "otherfield" does not exist" error.
        $otherValue = $form->get('otherfield')->getData();

        // continue validation logic...
    }
]);

我需要集合项的特定表单实例中另一个字段的值,但我找不到访问子表单实例的方法。我该怎么做呢?我可以通过使用包含集合的父字段来访问集合的表单列表,但我需要验证的特定实例。

它是 Symfony 3.3 版,但我在更高版本中也找不到任何东西。

标签: symfonyvalidationcollectionscallbacksubform

解决方案


推荐阅读