在表单中获取子项错误

时间:2014-02-23 12:08:19

标签: php forms symfony

早上好,

我在SO中搜索了类似的主题,但没有一个能够发挥作用。

在我的Sf2.4中,我在控制器中得到了这个:

$response = array('status' => 'failure');
        $errors = $form->getErrors();
        foreach($form->all() as $child) {
            $errors = array_merge($errors, $child->getErrors());
            var_dump(($child->getErrors()));
        }

但是$errors变量总是一个空数组,即使有:

$form->getErrorsAsString();

我确实看到了一些错误。为什么不为子节点获取错误?

1 个答案:

答案 0 :(得分:0)

基本上,你正在深入研究https://github.com/symfony/symfony/pull/9918如果你想要所有表单错误,你需要通过递归迭代每个表单子项来手动创建...

编辑:

这样的事情可以解决问题:

function getErrors($form) {
    $errors = $form->getErrors();

    foreach ($form as $child) {
        $errors = array_merge($errors, getErrors($child));
    }

    return $errors;
}

$errors = getErrors($form);