早上好,
我在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();
我确实看到了一些错误。为什么不为子节点获取错误?
答案 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);