我必须在提交表单之前显示表单的错误。 为此,我将这段代码添加到我的行动中(就在行动结束时)
if (!$form->isSubmitted()) {
$validator = $this->get('validator');
foreach ($validator->validate($form->getData()) as $violation) {
$form->get($violation->getPropertyPath())->addError(new FormError($violation->getMessage()));
}
}
问题是,如果我在主窗体中嵌入了表单集合,则此代码不起作用。
在这种情况下,如果我最终在子表单中的字段上出现错误,则方法$violation->getPropertyPath()
会返回类似fieldName[0].subFormFieldName
的内容,而不能用于检索表单字段。
有没有人有解决方案?